2015-12-30 106 views
0

我真的是java中的新手,我试图通过在家锻炼来改善。我的程序出现了这个问题,我无法从我正在读取的txt文件中保存int数字,因此我可以对其进行处理。从java中读取文件并保存数组中的txt中的int数字

My new code

+0

尝试格式你的代码正确,有很多空的或奇怪的“{}”块。 – Berger

+0

for block {}不正确 – jsfviky

+0

@Joe K.,请问您可以编辑问题并将代码添加为文本。外部图像可能'丢失':) – rjdkolb

回答

0

使用BufferReader阅读TXT

BufferedReader br = new BufferedReader(new FileReader("/home/input.txt")); 

然后,所有你需要做的是通过使用br.readLine(重复),并将其分配给数组如下:

while ((sCurrentLine = br.readLine()) != null) { 

        array[i]= Integer.parseInt(sCurrentLine); 
        i++; 
       } 


      for(int j=0;j<array.length;j++){ 
       System.out.println(array[j]); 
      } 
1

i是超出范围的打印语句中。

它只会在for块中可用。而您的打印语句不在for循环中。

它应该被一个{}块包围,以使其可用于多于一个语句。

for(int i =0; i < array.length; i++){ 

array[i] = in.nextInt(); 

System.out.println(array[i]);} 
+0

我做了全局的,它编译但我得到运行时错误:java.lang.ArrayIndexOutOfBoundsException:1 –

+0

你可以编辑问题并粘贴你的新代码? –

+0

您正在将第一个数字分配给'num'(数组的长度),因此您的.txt中的第一行应该是后续的int的数字。 – cylon

1

你正在做的:

int []array=new int[num]; 

它创建一个长度为1的阵列,因为你做

num = in.nextInt(); 

例如,你可以使用List<Integer> intList = new ArrayList<Integer>()那么你可以添加你的整数来循环中的列表。

+0

@JoeK。你正在循环与for循环混合。在这种情况下没有必要。使用一个循环。 –

相关问题