我一直在通过Downey的Think Java工作,并且已经完全陷入了一些使用迭代来打印乘法表的代码。我尝试自己复制程序并收到“'void'类型,此处不允许”错误。我认为这可能是我犯了一些导致错误的错误,但我尝试编译Downey提供的代码并收到相同的编译时错误。以下是代码:
public class Table {
public static void printRow(int n, int cols) {
int i = 1;
while (i <= cols) {
System.out.printf("%4d", n*i);
i = i + 1;
}
System.out.println();
}
public static void printTable(int rows) {
int i = 1;
while (i <= rows) {
printRow(i, rows);
i = i + 1;
}
}
public static void main(String[] args) {
System.out.print(printTable(5));
}
}
如果有人能帮助我理解这里发生的事情会很棒。提前谢谢!
答案 0 :(得分:1)
删除要打印的调用,然后调用该方法。
public static void main(String[] args) {
printTable(5);
}
答案 1 :(得分:1)
printTable
方法不返回任何内容。如果需要,您可以在System.out.println
方法中添加print语句,而不是在main()
中调用printTable
,而只需从printTable
调用main()
方法。我不确定你想再次打印什么,因为printRow
已经打印输出。
public class Table {
public static void printRow(int n, int cols) {
int i = 1;
while (i <= cols) {
System.out.printf("%4d", n*i);
i = i + 1;
}
System.out.println();
}
public static void printTable(int rows) {
int i = 1;
while (i <= rows) {
printRow(i, rows);
i = i + 1;
}
}
public static void main(String[] args) {
printTable(5);
}
}