为什么我的代码不能存储到我的temps数组中?

问题描述 投票:0回答:2
System.out.print("What would you like to decode? ");
        String fileName1 = console.next();
        System.out.print("Save the results as: ");
        resultFileName = console.next();
        int token1;
        Scanner inFile1 = new Scanner(new 
File(fileName1)).useDelimiter("[" + "," + " ]");
        List<Integer> temps = new ArrayList<Integer>();
        while (inFile1.hasNext()) {
            token1 = inFile1.nextInt();
            temps.add(token1);
            }
        for(int i = 0; i <= temps.size() - 1; i++) {
            int x = temps.get(i);
            System.out.print((char) x); 
        }

当我运行它时,它说“token1 = inFile1.nextInt();”有错误

这就是文件中的内容:[89,111,117,39,114,101,32,97,108,109,111,115,116,32,116,104,101,114,101,46,32 ,75,101,101,112,32,117,112,32,116,104,101,32,103,111,111,100,32,119,111,114,107,33]

arraylist
2个回答
0
投票

使用与inFile1.hasNextInt()相对的inFile1.hasNext()。这样您就可以确保下一个值可以解释为int

我认为inFile1.hasNext()正在解析为true,因为你仍然在文件中留下了字符]


0
投票

qazxsw poi仅用于分隔你的qazxsw poi。所以你必须手动解析useDelimiterints并调用[来解析]

编辑:解析'['例如你可以使用:Scanner inFile1 = new Scanner(new File(fileName1)).useDelimiter(",");

© www.soinside.com 2019 - 2024. All rights reserved.