线程“main”中的异常 java.util.NoSuchElementException 扫描仪错误

问题描述

我的函数代码

public static void marime(ArrayList<Aplicatie> x) {
       Scanner scan = new Scanner(system.in); 
            System.out.println("Introdu diapazonul de marime dorit pentru a primi rezultatul");
        int a = scan.nextInt();
        int b = scan.nextInt();
        scan.close();
            //System.out.println("Aplicatiile cu marimea intre " + a + " si " + b + " sunt: ");
            for(Aplicatie i: x) {
                if(i.marime <= a & i.marime >= b)
                    System.out.println(i.denumire + ' ' + i.versiune + ' ' + i.limba + ' ' + i.companieProducatoare + ' ' + i.tip + ' ' + i.cuSunet + ' ' + i.cuInstalare + ' ' + i.marime + ' ' + i.licenta);
        }
    }

我的第一个扫描器已声明:

static ArrayList<Aplicatie> citire() throws IOException {
        int n;
        ArrayList<Aplicatie> x = new ArrayList<Aplicatie>();
        try (Scanner cin = new Scanner(system.in)) {
          {  
      //  here is more code where I read more variables but I preferred not to copy.
                cin.close();
            }
        } 
        return x;
    }
//My error is: Exception in thread "main" java.util.NoSuchElementException
    at java.base/java.util.Scanner.throwFor(Scanner.java:937)
    at java.base/java.util.Scanner.next(Scanner.java:1594)
    at java.base/java.util.Scanner.nextInt(Scanner.java:2258)
    at java.base/java.util.Scanner.nextInt(Scanner.java:2212)
    at testing.marime(sarcina.java:158)
    at testing.main(sarcina.java:183)

158: int a = scan.nextInt(); 183:marime(x);

数组在main方法中声明。

我为我的英语和罗马尼亚语词感到抱歉,但这个错误是全球性的,每个人都可以理解。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)