Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
线程“main”java.util.InputMismatchException中出现异常_Java - Fatal编程技术网

线程“main”java.util.InputMismatchException中出现异常

线程“main”java.util.InputMismatchException中出现异常,java,Java,//获取输入数字,然后计算它是否为素数? //从键盘获取输入 package basicjava; import java.util.*; public class Primes { public static void main(String[] args) { Scanner scanner = new Scanner("System.in"); System.out.println("Enter a Positive Integer Ple

//获取输入数字,然后计算它是否为素数? //从键盘获取输入

   package basicjava; 

   import java.util.*;

   public class Primes {

   public static void main(String[] args) {

    Scanner scanner = new Scanner("System.in");
    System.out.println("Enter a Positive Integer Please  ");
    int userInput = scanner.nextInt();

    int potentialFactor = 2;
    while (userInput % potentialFactor != 0 ) {
        potentialFactor++;
    }
    if (potentialFactor == userInput) {
        System.out.println("the number is prime");
    }
    else {
        System.out.println("the number is not prime");
    }

}
}

//如果数字为素数,则打印该数字,否则为素数 //将打印数字不是素数的消息。

问题在于:

Scanner scanner = new Scanner("System.in");
创建扫描仪的方法不止一种。一种方法是像你在这里做的那样,通过一个字符串。然后扫描器将尝试扫描字符串。几行之后,您向扫描仪询问整数。扫描器查看字符串System.in,说我在这里没有看到整数,并抛出一个异常

创建扫描仪的另一种方法是传入输入流。然后,它将尝试从输入流中读取数据。这就是你应该做的:

注意我是如何删除的。这意味着System.in现在指in,表示控制台输入的输入流实例

Scanner scanner = new Scanner(System.in); // there is a System class in java.lang
Scanner scanner = new Scanner("System.in");
Scanner scanner = new Scanner(System.in);