为什么会有这个java.util.NoSuchElementException?

时间:2019-02-19 11:08:16

标签: java class java.util.scanner nosuchelementexception

如果我使用Scanner调用类成员,并且以前在main方法中使用过Scanner,即使所有输入均可用,也会出现NoSuchElementException错误。

import java.util.Scanner;
import java.io.*;

class Reminder{
    static void computeReminder(){
        Scanner S=new Scanner(System.in);
        int a,b;
        a=S.nextInt();
        b=S.nextInt();
        int reminder = a%b;
        System.out.println(reminder);
    }
}

class TestClass{
    public static void main(String args[]){
        Scanner scan=new Scanner(System.in);
        int T=scan.nextInt(); //Getting no.of TestCases
        for(int i=0; i<T; i++){
            Reminder.computeReminder(); //Calling Class Method to find reminder.
        }
    }
}

我可以使用“ Reminder.computeReminder();”和“ int T = scan.nextInt();”分开但不在一起。

我使用的输入:

5
19 5
73 4
7 3
18 4
68 2

重要条件:computeReminder()方法应没有参数,因为这是我学院的在线编译器给出的条件。

1 个答案:

答案 0 :(得分:1)

尝试重用扫描仪,而不要创建多个扫描仪。

class Reminder{
    static void computeReminder(Scanner s){
        int a,b;
        a=s.nextInt();
        b=s.nextInt();
        int reminder = a%b;
        System.out.println(reminder);
    }
}

class TestClass{
    public static void main(String args[]){
        Scanner scan=new Scanner(System.in);
        int T=scan.nextInt(); //Getting no.of TestCases
        for(int i=0; i<T; i++){
            Reminder.computeReminder(scan); //Calling Class Method to find reminder.
        }
    }
}