【发布时间】:2014-09-18 18:55:47
【问题描述】:
package com.test;
import java.util.Scanner;
public class Main {
public static void main(String args[]) {
System.out.println("Rows = ?");
Scanner sc = new Scanner(System.in);
if(sc.hasNextInt()) {
int nrows = sc.nextInt();
System.out.println("Columns = ?");
if(sc.hasNextInt()) {
int ncolumns = sc.nextInt();
char matrix[][] = new char[nrows][ncolumns];
System.out.println("Enter matrix");
for (int row = 0; sc.hasNextLine() && nrows > row; row++) {
matrix[row] = sc.nextLine().toCharArray();
}
for (int row = 0; row < nrows; row++) {
for (int column = 0; column < matrix[row].length; column++) {
System.out.print(matrix[row][column] + "\t");
}
System.out.println();
}
}
}
}
}
所以我的程序读取矩阵并打印它,但最后一行没有打印。我认为,打印列的 for 循环中的问题。
输入:
2
2
-=
=-
实际输出:
-=
预期输出:
-=
=-
【问题讨论】:
-
你能发布输入、实际输出和预期输出吗?可能是您在第一个
for循环中没有正确填充变量。 -
您确定此代码
matrix[row] = sc.nextLine().toCharArray();符合您的要求吗?您想在这里实现什么目标? -
@Pshemo 是的,我确定