我正在尝试读取txt文件并打印相反的行。例如: 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]);
}
}
答案 0 :(得分:0)
此循环将从最后一个元素迭代到第二个元素。
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);