我有一个java应用程序的源代码,它得到的错误与我在此处编写代码的应用程序相同。 他们得到这个: “线程中的异常”主要“java.util.NoSuchElementException” 如果我解决这个问题,那么我可以解决我的主要Java应用程序中的问题。线程中的Java异常java.util.NoSuchElementException
当我运行这个Java应用程序时,它运行一次,并且当返回执行while循环时,它会得到错误。 “异常线程 ”main“ java.util.NoSuchElementException”
代码:
public static void main (String args[]) {
int c=-1;
Scanner input=new Scanner(System.in);
do{
System.out.println("1- Sum");
System.out.println("2- Sub");
System.out.print("Enter your selection : > ");
c=input.nextInt();
res(c);
}while(c!=0);
input.close();
}
public static void res(int c) {
switch (c) {
case 1:
System.out.println("++++++++++");
sum();
break;
case 2:
System.out.println("----------");
sub();
break;
default:
break;
}
}
public static void sum() {
float a,b,c;
Scanner in=new Scanner(System.in);
System.out.println("enter two number :");
System.out.print("first number : ");
a=in.nextInt();
System.out.print("second number : ");
b=in.nextInt();
c=a+b;
System.out.println(a+" + "+b+" = "+c+" END.");
in.close();
}
public static void sub() {
float a,b,c;
Scanner in=new Scanner(System.in);
System.out.println("enter two number :");
System.out.print("first number : ");
a=in.nextInt();
System.out.print("second number : ");
b=in.nextInt();
c=a-b;
System.out.println(a+" - "+b+" = "+c+" END.");
in.close();
}
有谁可以帮我解决这个问题?
' “异常线程 ”main“ java.util.NoSuchElementException”'那是你得到的?没有堆栈跟踪?没有行号? –
它不会解决你的问题,但在你的sub和sum方法中,你正在使用in.nextInt()读取浮点数;这是为自己设置一个非常容易抛出的InputMismatchException。 编辑:我刚刚复制你的代码,并没有问题运行它 – EyeOfTheHawks
下面的答案都是正确的。我可以重现吉姆解释的问题。 Pignic然后给你解决方案。您可能还想要添加的是验证是否输入了数字。 – Tim