【发布时间】:2012-12-19 07:56:26
【问题描述】:
好的,我正在为我的编程课程制作一个程序,我正在尝试获取它,所以当我输入列和行时,它会得到一个显示乘法表的输出。下面是一个可视化的示例: printTable(4,6) 的示例运行输出:
现在,这是我的代码:
import java.util.Scanner;
public class Pictures {
public static int row;
public static int column;
public static Scanner input = new Scanner(System.in);
public static void main(String[] args){
int x = 1;
int y = 1;
System.out.println("Input Row: ");
row = input.nextInt();
System.out.println("Input Column: ");
column = input.nextInt();
for(x = 1; x < row; x++){
System.out.print(x * y + " ");
for(y = 1 ; y < column; y++){
System.out.print(y * x + " ");
}
System.out.println();
}
}
}
现在,当我输入第 5 行和第 5 列时,我的输出如下所示:
1 1 2 3 4
10 2 4 6 8
15 3 6 9 12
20 4 8 12 16
我知道我没有看到相当简单的事情,但我只是不明白为什么会发生这种情况。如果有人可以提供建议,那将有很大帮助。
谢谢, 苏利
【问题讨论】:
-
您应该在调试器中单步执行您的代码,并在执行过程中检查所有变量的值。
-
为什么要在第二个循环之外打印 x*y?
-
Hot licks,很抱歉我的问题冒犯了你。请考虑到我是一名 10 年级的编程新手。
-
如果您遵循仅在需要时声明变量并同时初始化它们的最佳实践,您就不会出现此错误。
-
@JBNizet 我最初确实在 for 循环中初始化了变量,例如:“for (int x = 0.........)”但我想我会尝试一些新的解决方法