这是一个塔克店的节目!
public void sale() {
if (!ingredients.isEmpty()) {
printFood();
String choice = JOptionPane.showInputDialog("Enter Your choices seperatad by a # to indicate quantity");
String[] choices = choice.split(" ");
String[] ammounts = choice.split("#");
for (int i = 0; i < choices.length; i++) {
int foodPos = (Integer.parseInt(choices[i])) - 1;
int ammount = Integer.parseInt(ammounts[i+1]);
try {
foods.get(foodPos).sale(ammount);
} catch (IndexOutOfBoundsException e) {
System.out.println("Ingredient does not exsist");
}
}
}
}
http://paste.ubuntu.com/5967772/
给出错误
您将同一个字符串拆分两次,但字符串是不可变的,因此返回两个不同的数组,而原始字符串保持不变。因此,如果您有类似的输入:
1#3 2#4
使用(“”)
拆分它将得到:
1#3
2#4
稍后在本行尝试将其解析为整数:
int foodPos = (Integer.parseInt(choices[i])) - 1;
它引发NumberFormatException。您需要使用(“#”)
而不是源字符串重新拆分每个单独的数组元素。
所以我把Java作为数学学位要求的一部分,并且偶然发现了这个代码的一个问题。本质上,代码应该从用户那里接收数字,直到他们键入零。只要只输入数字,它就可以正常工作。但是,如果用户输入一个字母或符号,程序就会得到一个异常。有没有一种简单的方法可以验证用户输入的数字而不会得到异常? 所以我已经尝试了你展示的尝试/捕捉。但我还是遇到了非数字的例外。输入代码如下:
我正在编写一个代码,要求用户输入一个数字,如果输入的不是数字,它将要求用户再次输入。哪个环路最好?
本文向大家介绍写出一个函数,输入是两个数组,输出是将两个数组中所有元素排序以后用一个数组输出。相关面试题,主要包含被问及写出一个函数,输入是两个数组,输出是将两个数组中所有元素排序以后用一个数组输出。时的应答技巧和注意事项,需要的朋友参考一下 参考回答: //快速排序 //两路归并 cerr << "内存分配失败" << endl;
我正试图编写一个java程序,将货币转换作为一个类赋值。我的代码几乎完全按照我希望的方式工作。执行时,它将要求用户输入日元对美元的汇率。输入任意一个数字,它就会正常工作。 但是,它会提示用户输入他们想要兑换成日元的美元金额。同样,这个想法是输入任何 但如果你在下一个空行输入一个数字,它就会进行转换!你甚至可以用空格输入数字:10 20 50 100。。。它将在单独的行中转换所有这些内容。 我只是想
当用户输入字符串(例如“”)时,程序应该给出输出“”,然后提示用户键入有效输入。当我键入字符串时,我会在线程“main”java.util.InputMismatchException中得到错误消息
我创建了以下类,用于输入用户的年龄,然后在控制台中显示适当的信息。 运行此程序时,控制台会询问“请输入您的年龄:”