“线程中的异常”;“主要”;java.util.NoSuchElementException(如何修复错误)
这个错误使我心烦意乱“线程中的异常”;“主要”;java.util.NoSuchElementException(如何修复错误),java,exception,java.util.scanner,Java,Exception,Java.util.scanner,这个错误使我心烦意乱 Exception in thread "main" java.util.NoSuchElementException at java.util.Scanner.throwFor(Scanner.java:862) at java.util.Scanner.next(Scanner.java:1485) at java.util.Scanner.nextInt(Scanner.java:2117) at java.util.Scanner.n
Exception in thread "main" java.util.NoSuchElementException
at java.util.Scanner.throwFor(Scanner.java:862)
at java.util.Scanner.next(Scanner.java:1485)
at java.util.Scanner.nextInt(Scanner.java:2117)
at java.util.Scanner.nextInt(Scanner.java:2076)
at Main.main(Main.java:266)
at Ideone.test(Main.java:72)
at Ideone.test(Main.java:32)
at Ideone.main(Main.java:23)
我的代码:
import java.util.Scanner;
import java.lang.Math;
class Main {
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
System.out.println("Welcome. What is your name?");
String x;
x = scan.nextLine();
System.out.println("Hello " + x + ". Try your best to crack the code!");
System.out.println(" ");
//Phase 1
System.out.println("PHASE 1");
System.out.println("Enter a number:");
int y = scan.nextInt();
if (y == 3){
System.out.println("Correct!");
System.out.println(" ");
//Phase 2
System.out.println("PHASE 2");
System.out.println("Enter a number:");
}
int z = scan.nextInt();
if (z == 1 || (z >= 33 && z <= 100)){
System.out.println("Correct!");
System.out.println(" ");
//Phase 3
System.out.println("PHASE 3");
System.out.println("Enter a number:");}
int c = scan.nextInt();
if (c % 3 == 0 || c % 7 == 0){
System.out.println("Correct!");
System.out.println("You have cracked the code!");}
else{
System.out.println("Sorry, that was incorrect!");
System.out.println("Better luck next time!");}
}
}
import java.util.Scanner;
导入java.lang.Math;
班长{
公共静态void main(字符串[]args){
扫描仪扫描=新扫描仪(System.in);
System.out.println(“欢迎。你叫什么名字?”);
字符串x;
x=scan.nextLine();
System.out.println(“Hello”+x+”。请尽力破解代码!”;
System.out.println(“”);
//第一阶段
系统输出打印项次(“第1阶段”);
System.out.println(“输入一个数字:”);
int y=scan.nextInt();
如果(y==3){
System.out.println(“正确!”);
System.out.println(“”);
//第二阶段
系统输出打印项次(“第2阶段”);
System.out.println(“输入一个数字:”);
}
int z=scan.nextInt();
如果(z==1 | |(z>=33&&z你的错误纯粹是逻辑错误。你有}的地方,它们不应该在那里。
您也没有使用在nextInt()上按enter键生成的/n“新行”
为了避免混淆您自己,请在嵌套的if上使用开始和结束注释
在创建if和使用空格分隔所有内容时,创建框架是一个很好的做法
if( conditon)
{
if_statement(s);
}
else
{
else_statement(s);
}
这是您更正的代码
import java.util.Scanner;
import java.lang.Math;
class BrockTaylor
{
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);
System.out.println("Welcome. What is your name?");
String x;
x = scan.nextLine();
System.out.println("Hello " + x + ". Try your best to crack the code!");
System.out.println(" ");
System.out.println("PHASE 1");
System.out.println("Enter a number:");
int y = scan.nextInt();
// consume the /n
scan.nextLine();
//Phase 1
if (y == 3)
{
System.out.println("Correct!");
System.out.println(" ");
System.out.println("PHASE 2");
System.out.println("Enter a number:");
int z = scan.nextInt();
// consume the /n
scan.nextLine();
//Phase 2
if (z == 1 || z >= 33 && z <= 100)
{
System.out.println("Correct!");
System.out.println(" ");
System.out.println("PHASE 3");
System.out.println("Enter a number:");
int c = scan.nextInt();
// consume the /n
scan.nextLine();
//Phase 3
if (c % 3 == 0 || c % 7 == 0)
{
System.out.println("Correct!");
System.out.println("You have cracked the code!");
}
else // phase 3
{
System.out.println("Sorry, that was incorrect!");
System.out.println("Better luck next time!");
}
}
else // phase 2
{
System.out.println("Sorry, that was incorrect!");
System.out.println("Better luck next time!");
}
}
else// phase 1
{
System.out.println("Sorry, that was incorrect!");
System.out.println("Better luck next time!");
}
}
}
import java.util.Scanner;
导入java.lang.Math;
布罗克泰勒类
{
公共静态void main(字符串[]args)
{
扫描仪扫描=新扫描仪(System.in);
System.out.println(“欢迎。你叫什么名字?”);
字符串x;
x=scan.nextLine();
System.out.println(“Hello”+x+”。请尽力破解代码!”;
System.out.println(“”);
系统输出打印项次(“第1阶段”);
System.out.println(“输入一个数字:”);
int y=scan.nextInt();
//使用/n
scan.nextLine();
//第一阶段
如果(y==3)
{
System.out.println(“正确!”);
System.out.println(“”);
系统输出打印项次(“第2阶段”);
System.out.println(“输入一个数字:”);
int z=scan.nextInt();
//使用/n
scan.nextLine();
//第二阶段
如果(z==1 | | z>=33&&z“如何找出扫描仪和输入的问题?”请在调用nextInt
之前调用hasNextInt
。