为什么我的代码不能存储到我的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。所以你必须手动解析useDelimiter
和ints
并调用[
来解析]
。
编辑:解析'['例如你可以使用:Scanner inFile1 = new Scanner(new
File(fileName1)).useDelimiter(",");
以上是关于为什么我的代码不能存储到我的temps数组中?的主要内容,如果未能解决你的问题,请参考以下文章