为什么我在以下代码中遇到错误?在以下代码中, getMaximumWinning是一个函数,它返回一个正整数。
*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)*
代码:
public static void main(String args[])
{
int TC;
Scanner s1=new Scanner(System.in);
TC= s1.nextInt();
int N,i;
int win[]=new int[10000];
String ques,ans;
while(TC>0)
{ N=s1.nextInt();
ques=s1.next();
ans=s1.next();
for(i=0;i<=N;i++)
{
win[i]=s1.nextInt();
}
System.out.println(getMaximumWinning(ques, ans, win, N));
TC--;
}
}
答案 0 :(得分:1)
java.util.NoSuchElementException
表示您在Scanner
在任何s1.nextInt();
之前你应该使用s1.hasNextInt();
返回布尔值,具体取决于你可以决定要执行的操作
if(s1.hasNextInt()){
win[i]=s1.nextInt();
}