您的位置:首页 > 编程语言 > Java开发

Java学习笔记27. 循环的嵌套与应用(以99乘法表为例)

2018-02-27 15:03 561 查看
可以说,使用循环就要使用嵌套,这种机制就像拳击里的组合拳一样。只有把嵌套用起来,循环才能发挥它真正的作用和力量。
循环嵌套的组合方式,可以由while循环,do while循环和for循环混合嵌套使用。其中,for循环的嵌套是最常用,最具有可读性的循环嵌套。

比如说,我们要打印一个99乘法表,就必须使用嵌套循环:
乘法表由乘数与被除数组成,乘数是数字1到9,被乘数也是数字1到9。所以需要用到两个循环变量,row 和 colume。
row代表行,取值从1到9; colume代表列,取值也是从1到9;

乘数与被乘数相乘,就会得出一个9行9列的矩阵,具体程序如下:public class demo9x9{
public static void main(String[] args){
for(int row=1;row<=9;row++){ //控制打印的行数
for(int column=1;column<=9;column++){
System.out.print(row+"x"+column+"="+row*column+"\t"); //打印输出每一行,并用制表符控制上下对齐
}
System.out.println();每输出完一行之后进行换行
}
}
}编译执行,结果如下:



细看一下以上的输出结果,有一部分输出是多余的,比如1x2和2x1,其实是一样的,保留一个就可以了。
我们只需要保留上半个,或者下半个三角形的输出就可以了。
具体怎么做呢,需要对程序进行优化:
仔细观察,对于乘法表的第二行,只需要输出后8列就可以了。对于第三行,只需要输出后7列就可以了,依次类推。
在减少输出项的同时,还要注意上下对齐,以使乘法表显得整齐有序。public class demo9x9{
public static void main(String[] args){
for(int row=1;row<=9;row++){ //外层循环,控制输出的行数
if(row>1){ //内层循环的第一部分,控制每行输出的tab制表符:第1行0个,第2行1个,第3行2个
for(int t=1;t<row;t++){
System.out.print("\t");
}
}
for(int column=row;column<=9;column++){ //内层循环的第二部分,控制每行输出的乘法表的项目
System.out.print(row+"x"+column+"="+row*column+"\t");
}
System.out.println();
}
}
}
编译执行,结果如下:



这样一来,99乘法表就比较清晰了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: