打印数组时更改行
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);
我正在尝试读取一个 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);