【发布时间】:2014-02-19 01:03:16
【问题描述】:
我有一个包含一些整数和字符串的文本文件(扫描仪文件)。我想浏览文件,获取整数并将它们存储到整数数组(array1)中。
这是我正在使用的方法:
public void printIntArray(Scanner file){
int x = 0;
while(file.hasNext()){
array1[x] = file.nextInt();
x++;
}
System.out.println("The list size is: " + (x+1));
System.out.print("The list is:");
for(int z=0; z <= x ; z++)
System.out.println(array1[z]);
}
这是我的输出:
输入文件名:input.txt
文件内容为:12 dsafa 14 daf 11 10 afa 3.5
列表大小为:1
名单是:0
array1[] 在这里声明:
import java.io.*;
import java.util.Scanner;
public class Lab2_2Menu {
private static int LENGTH = 100;
private int[] array1;
private String fileName;
public Lab2_2Menu(){
array1 = new int [LENGTH];
}
【问题讨论】:
-
你在哪里声明array1[]?
-
也许尝试在 while 循环中打印 nextInt 的结果
-
也许您已经使用了
next()方法来生成输出(12 dsafa 14 daf 11 10 afa 3.5)。如果您随后将相同的Scanner对象 (file) 传递给此方法,它仍在文件末尾,因此您可能应该先调用reset()。 -
我认为这就是我在方法结束时所做的。你的意思是不同的吗?
-
@MichelMichaelMeyer 我做到了,好点。但是,我只是尝试在 while 循环的开头实现 file.reset() 。输出没有变化。