public static void getVegetableFromUser()
{
String[] veg = SandwichDB.getVegetable();
HashMap<String, String> getMapVegPrice = SandwichDB.getMapVegPrice();
int vegSave = Validator.getInt(Scanner, "Select Vegetables [1, 8]: ", 1, 8);
String v = veg[vegSave-1];
sandwich.setVegetables(v);
}
好了,所以控制檯打印出陣列/ ArrayList的OutOfBoundsException
===選擇三明治蔬菜===
1紅洋蔥$ 0.10
2橄欖$ 0.10
3泡菜$ 0.10
4生菜$ 0.20
5青椒$ 0.25
6西紅柿$ 0.30
7 ch Eese(伊塞)$ 0.49
8退出蔬菜科
選擇蔬菜[1,8]:
的想法是能夠選擇多種蔬菜,直到我去接8這是退出蔬菜節。我怎麼會這樣做呢?用else if語句?
此外,蔬菜應該是一個數組,而不是一個字符串...喜歡上了這行:String v = veg[vegSave-1]
。
這裏是我的SandwichDB.app代碼:
public static String[] getVegetableInfo()
{
ArrayList<String> vegsList = new ArrayList<>();
try (BufferedReader in =
new BufferedReader(
new FileReader("vegetable.txt")))
{
String line = in.readLine();
while (line != null)
{
String[] elems = line.split("~");
vegsList.add(elems[0] + " $" + elems[1]);
line = in.readLine();
}
vegsList.add("Quit Vegetable Section");
}
catch(IOException e)
{
System.out.println(e);
return null;
}
String[] vegetableInfo = vegsList.toArray(new String[]{});
return vegetableInfo;
}
什麼'getVegetable()'恰好返回?它會返回七八個元素嗎? – Makoto
是啊我的壞,我沒有張貼,它返回所有8.我只是具有重複過程中遇到問題,也當我拿起8應該退出的部分,而不是它只是增加了「退出蔬菜節」的三明治。 setVegetable。這是否是否是陳述或? –
你有問題嗎? (你顯然沒有得到一個異常,或者你會提供的堆棧跟蹤並確定發生異常的聲明。) –