Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.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 while循环中的整数数组列表拒绝打印_Java - Fatal编程技术网

Java while循环中的整数数组列表拒绝打印

Java while循环中的整数数组列表拒绝打印,java,Java,我正在解决一个源于代码出现的问题,并尝试将输入文件的内容放入arraylist,下面是我的代码: ArrayList<Integer> arrayList = new ArrayList<>(); try (Scanner s = new Scanner(new File("input.txt")).useDelimiter(",")) { while (s.hasNext()) { int b = Integer.par

我正在解决一个源于代码出现的问题,并尝试将输入文件的内容放入arraylist,下面是我的代码:

ArrayList<Integer> arrayList = new ArrayList<>();
    try (Scanner s = new Scanner(new File("input.txt")).useDelimiter(",")) {

        while (s.hasNext()) {
            int b = Integer.parseInt(s.next());
            arrayList.add(b);
        }

    }
    catch (FileNotFoundException e) {
        // Handle the potential exception
    }


    System.out.println(arrayList);
ArrayList ArrayList=new ArrayList();
try(Scanner s=new Scanner(新文件(“input.txt”))。使用分隔符(“,”){
而(s.hasNext()){
intb=Integer.parseInt(s.next());
添加(b);
}
}
catch(filenotfounde异常){
//处理潜在的异常
}
System.out.println(arrayList);

当我运行它时,它不会打印arraylist。我不明白为什么,有人能告诉我我做错了什么吗?

我使用了StringTokenizer,它工作得非常好。我不熟悉使用Scanner分割项目,所以我将其转换为StringTokenizer。希望你能接受

public static void main(String[] args) throws IOException {
        ArrayList<Integer> arrayList = new ArrayList<>();
        Scanner s = new Scanner(new File("input.in"));

        StringTokenizer st = new StringTokenizer(s.nextLine(), ",");

        while (st.hasMoreTokens()) {
            int b = Integer.parseInt(st.nextToken());
            arrayList.add(b);
        }
        s.close();

        System.out.println(arrayList);

}
publicstaticvoidmain(字符串[]args)引发IOException{
ArrayList ArrayList=新的ArrayList();
扫描仪s=新扫描仪(新文件(“input.in”);
StringTokenizer st=新的StringTokenizer(s.nextLine(),“,”);
而(st.hasMoreTokens()){
intb=Integer.parseInt(st.nextToken());
添加(b);
}
s、 close();
System.out.println(arrayList);
}

这将使用所需的值填充ArrayList

您可以验证是否能够读取文件。您的代码可以这样修改。请检查是否打印“文件已找到”。若不是,则表示您试图读取的文件不在类路径中。你可能想推荐


您正在尝试打印arrayList中整数的值吗?如果是这样,请参见此处:如果它打印的唯一内容是
[]
而没有其他内容,则1)文件为空,或者2)未找到文件,您忽略了异常。可能是因为
catch
块中没有任何代码而抑制了异常。也许你的文件是空的,所以循环永远不会执行。当然!如果你得到一个异常,你什么也不做,除了吞下它,并且你假设你已经成功地读取了值(即使你的文件可能不是你想象的那样)。学习如何使用调试器逐步调试程序也是一个很好的主意。我曾尝试对字符串的arraylist执行相同的操作,但我没有遇到这个问题,它打印了arraylist,其中包含文件中的所有数字。但一旦我把它改回int arraylist,它就不会打印了@博士。
...
File source = new File("input.txt");
        if(source.exists()) {
            System.out.println("File found");
        }
        try (Scanner s = new Scanner(source).useDelimiter(",")) {
...