public class MultiplicationTable {
public static void main (String[]a){
int[] x;
x = new int[10];
int i;
int n=0;
for (i=0;i<x.length;i++){
n++;
x[i]=n;
System.out.print(x[i] + " ");
}
System.out.println();
for (i=0;i<x.length;i++)
System.out.print(x[0] * x[i] + " ");
System.out.println();
for (i=0;i<x.length;i++)
System.out.print(x[1] * x[i] + " ");
System.out.println();
for (i=0;i<x.length;i++)
System.out.print(x[2] * x[i] + " ");
System.out.println();
for (i=0;i<x.length;i++)
System.out.print(x[3] * x[i] + " ");
System.out.println();
for (i=0;i<x.length;i++)
System.out.print(x[4] * x[i] + " ");
System.out.println();
for (i=0;i<x.length;i++)
System.out.print(x[5] * x[i] + " ");
System.out.println();
for (i=0;i<x.length;i++)
System.out.print(x[6] * x[i] + " ");
System.out.println();
for (i=0;i<x.length;i++)
System.out.print(x[7] * x[i] + " ");
System.out.println();
for (i=0;i<x.length;i++)
System.out.print(x[8] * x[i] + " ");
System.out.println();
for (i=0;i<x.length;i++)
System.out.print(x[9] * x[i] + " ");
}
}
Run Code Online (Sandbox Code Playgroud)
这是一个显示乘法表的程序,如下所示:
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
2 4 6 8 10 12 14 16 18 20
3 6 9 12 15 18 21 24 27 30
4 8 12 16 20 24 28 32 36 40
5 10 15 20 25 30 35 40 45 50
6 12 18 24 30 36 42 48 54 60
7 14 21 28 35 42 49 56 63 70
8 16 24 32 40 48 56 64 72 80
9 18 27 36 45 54 63 72 81 90
10 20 30 40 50 60 70 80 90 100
================================================== =============
它正在运行且正确,但我希望它看起来像这样:
01 02 03 04 05 06 07 08 09 10
01 02 03 04 05 06 07 08 09 10
02 04 06 08 10 12 14 16 18 20
03 06 09 12 15 18 21 24 27 30
04 08 12 16 20 24 28 32 36 40
05 10 15 20 25 30 35 40 45 50
06 12 18 24 30 36 42 48 54 60
07 14 21 28 35 42 49 56 63 70
08 16 24 32 40 48 56 64 72 80
09 18 27 36 45 54 63 72 81 90
10 20 30 40 50 60 70 80 90 100
===============================================
有什么办法吗?
Ste*_*Luu 17
是的你可以!您可以使用String.format向输出添加零填充.
例:
String.format("%05d", 2)会产生00002.
对当前代码的一些改进:
我不确定你为什么打算将数字存储在一个数组中(可能是为了练习目的),但这并不是必要的,因为无论如何它都是从1到10.但如果你想这样做,你不需要两个i和n.
for (i=0; i<x.length; i++){
x[i] = i+1;
System.out.print(x[i] + " ");
}
Run Code Online (Sandbox Code Playgroud)
其次,我确信你意识到你有很多重复的代码,并且它是相当顺序的.你可以使用2个嵌套for循环,而不是10个单循环:
for (int row = 1; row <= 10; row++) {
for (int col = 1; col <= 10; col++)
System.out.print(String.format("%03d", row * col));
System.out.println();
}
Run Code Online (Sandbox Code Playgroud)