我是一个新手,并试图同时学习和练习java代码。它真的很基本,但我仍然卡住了。在遇到Scanner课程时,我面临以下错误。我已经通过这里早些时候提供的很多解决方案,但我仍然无法解决它
线程中的异常" main" java.util.NoSuchElementException
请找到以下代码:
import java.util.Scanner;
import java.io.IOException;
public class Main{
public static void main(String[] args) {
try
{
chk();
}
catch(final IOException x)
{
x.printStackTrace();
}
}
@SuppressWarnings("resource")
public static void chk() throws IOException
{
Scanner sc = new Scanner(System.in);
int value,i=0;
for (i = 0; i < 3; i++)
{
System.out.println("Enter the number :");
while (!sc.hasNextInt())
{
sc.nextInt();
}
value = sc.nextInt();
if (value > 0) {
if (value > 20) {
System.out.println("Valuable customer");
} else
System.out.println("Not a valuable customer");
}
else
System.out.println("Invalid Input");
}
sc.close();
}
}
**Error Message**
`Exception in thread "main" java.util.NoSuchElementException
at java.util.Scanner.throwFor(Scanner.java:907)
at java.util.Scanner.next(Scanner.java:1530)
at java.util.Scanner.nextInt(Scanner.java:2160)
at java.util.Scanner.nextInt(Scanner.java:2119)
at Main.chk(Main.java:27)
at Main.main(Main.java:9)`
答案 0 :(得分:1)
你需要重新思考你的逻辑。在这里你说“虽然扫描仪没有下一个int,但试着获得下一个int”
while (!sc.hasNextInt())
{
sc.nextInt();
}