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] + " ");
}
}
这是一个程序,它将显示一个乘法表,如下所示:
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 18 24 24 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
==============================================
有什么办法吗?
是的你可以!您可以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] + " ");
}
其次,我确定您意识到您有很多重复的代码,而且它们是连续的。您可以使用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();
}
问题内容: UTF-8字符串可以包含零字节吗?我要通过ascii纯文本协议发送它,是否应该使用base64之类的东西对其进行编码? 问题答案: 是的,UTF8中的零字节是代码点0,NUL。有没有将在UTF8与在它一个零字节的任何位置进行编码等Unicode代码点。 可能的代码点及其UTF8编码为: 您可以看到,所有非零ASCII字符都被表示为自己,而所有多字节序列的所有字节均具有1的高位。 您可能
问题内容: 我有零片: 我在其中添加一个元素: 为什么在一个nil slice上附加一个元素会使容量增加2? 使用来打印切片显示以下内容: 我也很困惑为什么重新切片会显示一个零,该零既不在原始切片中也不附加在原始切片上: 问题答案: Go可以免费为您提供超出您要求的容量。通过减少所需的分配(可以复制)数量来提高性能。容量只是在需要另一分配之前保留的空间量。 如果至少在我的实验中将5个元素添加到此片
问题内容: 使用,我可以做类似的事情: 我的输出: 但是我只想要1行1列: 预期产量: 原因是我要从多个表中选择多个值,并且在所有联接之后,我得到的行比我想要的要多得多。 我在MySQL Doc上寻找了一个函数,但看起来不像或函数接受结果集。 那么,这里有人知道该怎么做吗? 问题答案: 您可以使用: 正如路德维希(Ludwig)在其评论中所述,您可以添加运算符以避免重复: 正如Jan在他们的评论中
问题内容: 有没有更好的方法来获得此结果?如果num的位数比位数多,则此函数将失败,并且我认为它应该在库中的某个位置(例如Integer.toString(x,“%3d”)等) 问题答案: tring.format(http://java.sun.com/j2se/1.5.0/docs/api/java/util/Formatter.html#syntax) 在你的情况下,它将是: 0 - to
问题内容: 我需要给出用户输入的数字的准确性,直到几位数。例如,如果用户输入了一些随机值并给出了他希望精确到三位数,那么我需要将数字四舍五入到小数点后三位。所以我做了这样的事情 但是,当用户输入某个值但不输入任何值作为小数位时,我需要将其显示为小数点后的零值。例如15是他的数字,3是他的准确性,那么我需要将数字显示为15.000 当十进制始终更改时,我无法显示零。请帮忙。我尝试了DeciamlFo