获取Java Scanner类错误

时间:2015-10-11 19:37:16

标签: java java.util.scanner

为什么我在以下代码中遇到错误?在以下代码中, 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--;
    }


}

1 个答案:

答案 0 :(得分:1)

java.util.NoSuchElementException 

表示您在Scanner

中没有更多元素

在任何s1.nextInt();之前你应该使用s1.hasNextInt();返回布尔值,具体取决于你可以决定要执行的操作

if(s1.hasNextInt()){
    win[i]=s1.nextInt();
}