Java编程那些事儿41

欢迎进入Java社区论坛,与200万技术人员互动交流 >>进入

Java编程那些事儿系列文章(全集目录)

5.6.1.5 99乘法表

问题:在控制台打印数学上的99乘法表

该类问题是发现数字的规律,然后将数值的规律用程序描述出来。实际实现时,可能需要耐心的进行调试。在这里,需要实现数字的多行输出,前面使用的System.out.println是输出内容并换行,后续再输出的内容就再下一行显示,如果需要在输出时不换行,则可以使用System.out.print进行输出。

99乘法表的规则是总计9行,每行单独输出,第一行有1个数字,第二行有2个数字,依次类推,数字的值为行号和列号的乘积。

实现思路:使用一个循环控制打印9行,在该循环的循环体中输出该行的内容,一行中输出的数字个数等于行号,数字的值等于行号和列号的成绩。

实现代码如下:

for(int row = 1;row <= 9;row++){ //循环行

for(int col = 1;col <= row;col++){ //循环列

System.out.print(row * col); //输出数值

System.out.print(’ ‘); //输出数字之间的间隔空格

}

System.out.println(); //一行输出结束,换行

}

该程序的输出为:

1

2 4

3 6 9

4 8 12 16

5 10 15 20 25

6 12 18 24 30 36

7 14 21 28 35 42 49

8 16 24 32 40 48 56 64

9 18 27 36 45 54 63 72 81

在该输出中,数字之间的对齐有些问题,第四行和第五行的对齐就很明显。那么如果在输出时想让数字对齐,那么就要首先思考数字为什么不能对齐?则问题直观的出现在有些数字是一位数有些是两位数,发现了原因就可以着手解决了,如果想实现数字的左对齐,则在一位数字的后续多输出一个空格,如果想实现数字的右对齐,则只需要在一位数字的前面输出一个空格即可。

以下代码实现了数字的右对齐:

for(int row = 1;row <= 9;row++){ //循环行

for(int col = 1;col <= row;col++){ //循环列

if(row * col < 10){ //一位数

System.out.print(’ ‘);

}

System.out.print(row * col); //输出数值

System.out.print(’ ‘); //输出数字之间的间隔空格

}

System.out.println(); //一行输出结束,换行

}

所以在实际书写代码时,代码的位置对于程序逻辑的影响很大,在编写代码时,需要认真考虑代码书写的位置。

[1][2]

风景如何,其实并不重要。重要的是,你在我的身边。

Java编程那些事儿41

相关文章:

你感兴趣的文章:

标签云: