Java 理解简单程序中的输入不匹配异常有困难
我必须编写一个程序,在输入“stop”之前读取一系列整数,将整数存储在数组中,然后显示输入的数字的平均值。我在输入“停止”时遇到输入不匹配异常,所以它实际上不起作用,但我不知道为什么。非常感谢您的帮助 导入java.util.Scanner 公共类含义列表{Java 理解简单程序中的输入不匹配异常有困难,java,do-while,inputmismatchexception,Java,Do While,Inputmismatchexception,我必须编写一个程序,在输入“stop”之前读取一系列整数,将整数存储在数组中,然后显示输入的数字的平均值。我在输入“停止”时遇到输入不匹配异常,所以它实际上不起作用,但我不知道为什么。非常感谢您的帮助 导入java.util.Scanner 公共类含义列表{ public void mean() { String s; int n = 0; int i = 1; int[] array = { n }; do { System.out.
public void mean() {
String s;
int n = 0;
int i = 1;
int[] array = { n };
do {
System.out.println("Enter an integer");
Scanner in = new Scanner(System.in);
n = in.nextInt();
s = in.nextLine();
} while (s != "stop");
{
System.out.println("Enter an integer");
Scanner in2 = new Scanner(System.in);
int x = in2.nextInt();
array[i] = x;
i++;
}
int av = 0;
for (int y = 0; y < array.length; y++) {
av += array[y];
}
System.out.println(av);
}
public static void main(String[] args) {
MeanUsingList obj = new MeanUsingList();
obj.mean();
}
public void mean(){
字符串s;
int n=0;
int i=1;
int[]数组={n};
做{
System.out.println(“输入整数”);
扫描仪输入=新扫描仪(系统输入);
n=in.nextInt();
s=in.nextLine();
}而(s!=“停止”);
{
System.out.println(“输入整数”);
扫描器in2=新扫描器(System.in);
int x=in2.nextInt();
数组[i]=x;
i++;
}
int av=0;
对于(int y=0;y
}第一个
int[]数组={n}代码>仅创建一个数组,其中的元素为0
当(s!=“停止”)时,它内部的逻辑永远不会执行代码>
你想要这样的吗
List list = new ArrayList();
//instead of array used arraylist because of dynamic size
do {
System.out.println("Enter an integer");
Scanner in = new Scanner(System.in);
n = in.nextInt(); //get the input
list.add(n); // add to the list
Scanner ina = new Scanner(System.in); // need new scanner object
s = ina.nextLine(); //ask if want to stop
} while (!s.equals("stop")); // if input matches stop exit the loop
System.out.println(list); // print the list
我建议您学习基础知识您的程序获取“stop”并尝试将其转换为无法完成的int。也许你应该使用扫描仪#hasnetint()
。另外,作为补充说明,您不应该像现在这样每次迭代都要制作一个新的扫描仪。打印提示,创建新扫描仪,打印提示,创建新扫描仪,打印提示,创建新扫描仪。。。