打印数组时更改行

Changing lines while printing array

我正在尝试读取一个 txt 文件并打印对面的行。例如: 文本文件:

3 //size of matrix  
3 4 5  
5 6 7  
6 7 8  

输出应该是:

6 7 8  
5 6 7  
3 4 5  

我写了一个程序。程序打印:

5 6 7  
3 4 5  

没有第一行:6 7 8.

我的错误是什么?

public static void main (String[] args)  {
   int matrixSize = StdIn.readInt(); 
   String [] array = new String [matrixSize]; 
   for (int i=0; i <= matrixSize-1; i++)
   { 
      array[i] = StdIn.readLine();
      StdOut.println(array[i]);
   } 
   for (int j=matrixSize-1; j >= 1; j--)
   {
      StdOut.println(array[j]);
   }
}

此循环将从最后一个元素迭代到第二个元素。

for (int j=matrixSize-1; j >= 1; j--)

更改为还包含第一个元素

for (int j=matrixSize-1; j >= 0; j--)

而且 StdIn.readInt() 似乎没有使用换行符。因此,当您之后执行 StdIn.readLine() 时,您会得到一个空行。该空行是您扫描号码后第一行剩下的内容。一个简单的解决方法是像这样获得 matrixSize :

String text = StdIn.readLine();
int matrixSize = Integer.parseInt(text);