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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么我的代码不能存储到我的temps数组中?相关的知识,希望对你有一定的参考价值。

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]

答案

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

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

另一答案

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

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

以上是关于为什么我的代码不能存储到我的temps数组中?的主要内容,如果未能解决你的问题,请参考以下文章

为什么我不能“等待”到我的代码的其他部分?

为啥我不能在我的结构中打印名称?

必须声明表变量“@temp”

将数组添加到我的 ExecuteReader() 函数

为啥我不能将数字附加到我的变量?!在斯威夫特 3

为啥我不能在 dashcode 中将网络剪辑图标添加到我的 web 应用程序。我啥都试过了?