gpt4 book ai didi

java - 线程 "main"java.util.NoSuchElementException 中出现异常,无法从控制台获取输入整数

转载 作者:行者123 更新时间:2023-12-01 23:39:46 26 4
gpt4 key购买 nike

我正在尝试从控制台获取输入,但不知道为什么它显示错误。

我正在尝试打印两个数字之间的素数之和。

我正在ManipalProlearn的在线学习平台上尝试这个。

import java.util.Scanner;

public class SumOfPrimeNumbers {
/**
* Main method
* @param args
*/

public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int n1=scan.nextInt();
int n2=scan.nextInt();
scan.close();
if((n1<3 || n1>1000)&&(n1>n2))
{
System.out.print("INVALID_INPUT");
}
else{
int sum=0;
for(int i=n1;i<=n2;i++)
{
isprime(i);
sum+=i;
}
System.out.print(sum);
}
}

public static boolean isprime(int i){
int j;
for(j=2;j<=i/2;j++)
{
if(i%j==0) return false;
}
return true;
}
}

堆栈跟踪如下:

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 SumOfPrimeNumbers.main(SumOfPrimeNumbers.java:9)

最佳答案

您需要监听扫描仪的声音,例如 https://www.geeksforgeeks.org/scanner-nextint-method-in-java-with-examples/

    Scanner scanner = new Scanner(s); 

while (scanner.hasNext()) {

// if the next is a Int,
// print found and the Int
if (scanner.hasNextInt()) {
System.out.println("Found Int value :"
+ scanner.nextInt());
}

// if no Int is found,
// print "Not Found:" and the token
else {
System.out.println("Not found Int value :"
+ scanner.next());
}
}

因此,在您的情况下,请使用存储这些数字的列表,而 while 条件将为 (list.size() < 2 && scanner.hasNext())

关于java - 线程 "main"java.util.NoSuchElementException 中出现异常,无法从控制台获取输入整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58265869/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com