Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.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
Java扫描器don';当我第二次使用它时,它不会工作_Java_Java.util.scanner - Fatal编程技术网

Java扫描器don';当我第二次使用它时,它不会工作

Java扫描器don';当我第二次使用它时,它不会工作,java,java.util.scanner,Java,Java.util.scanner,当我第二次在Java中使用Scanner时,Scanner sc2的对象不会转换为字符串“int-typeOfSort=sc2.nextInt();”中的整数 Eclipse在启动程序之前不显示错误,但在启动之后显示此错误。程序可以运行,但当遇到sc2必须转换为int的字符串时,程序显示错误。如何修复它 " Exception in thread "main" java.util.NoSuchElementException at java.util.Scanner.throwFor(Unkno

当我第二次在Java中使用Scanner时,Scanner sc2的对象不会转换为字符串“
int-typeOfSort=sc2.nextInt();
”中的整数

Eclipse在启动程序之前不显示错误,但在启动之后显示此错误。程序可以运行,但当遇到sc2必须转换为int的字符串时,程序显示错误。如何修复它

"
Exception in thread "main" java.util.NoSuchElementException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at Buble.main(Buble.java:39)
"
Java代码

 import java.util.Scanner; 

 public class Buble {


  public static void main(String[] args) {

    int size;    // size of Array
    int array[]; // Array

    System.out.print("Enter size of arrays: ");
    // Scanner is tool for input text to console
        Scanner sc = new Scanner(System.in);        
        size = sc.nextInt();
        array = new int [size];
        sc.close();

    for(int i = 0; i < array.length; i++){
        double randnum = Math.floor(Math.random() * 1000);
        array[i] = (int) randnum;
        System.out.println("Element " + i + " = " + (int) randnum);

    }

    for(int b = 0; b < array.length; b++){
        for(int i = 1; i < array.length; i++) {
            if(array[i] < array[i-1]){
                int a = array[i];
                array[i] = array[i-1];
                array[i-1] = a;
            }

        }
    }

    System.out.println("If you want to sort from smallest to largest 
     press 1 or 2 if Conversely: ");

        Scanner sc2 = new Scanner(System.in);
        int typeOfSort = sc2.nextInt(); // String with error
        sc2.close();

    if(typeOfSort == 1){
        for(int i = 0; i < array.length; i++){
            System.out.println(array[i]);
        }
    }
    else{
        for(int i = array.length; i < array.length; i++){
            System.out.println(array[i]);
        }
    }
        }
     }
import java.util.Scanner;
公务舱{
公共静态void main(字符串[]args){
int size;//数组的大小
int数组[];//数组
System.out.print(“输入数组大小:”);
//扫描仪是向控制台输入文本的工具
扫描仪sc=新的扫描仪(System.in);
尺寸=sc.nextInt();
数组=新整数[大小];
sc.close();
for(int i=0;i
您正在使用多个扫描仪,并且正在执行
sc.close()。。这就是例外的原因

请记住:当您关闭其中一个扫描仪时,这是在关闭引擎盖下的inputstream(这是为所有其他扫描仪共享的),之后,尝试从其余扫描仪实例读取任何内容将引发异常