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

可以说,使用循环就要使用嵌套,这种机制就像拳击里的组合拳一样。只有把嵌套用起来,循环才能发挥它真正的作用和力量。

循环嵌套的组合方式,可以由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乘法表就比较清晰了。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值