循环结构(循环嵌套使用:双重for循环)
循环结构(循环嵌套使用)
双重for循环以实现几行几列
需求1:请输出一个4行5列的星星(*)图案
* * * * *
* * * * *
* * * * *
* * * * *
public class ForNest1 {
public static void main(String[] args) {
for(int i =1;i<=4;i++){ // 外层的for循环控制的是行
for(int j =1;j<=5;j++){ //内层的for循环控制的是列
System.out.print("*\t"); //输出*并空4格
}
System.out.println(); //外层的for控制着行,加个输出语句,表示换行
}
}
}
需求2: 用循环实现打印如下三角形的*图案
*
* *
* * *
* * * *
* * * * *
当图案不是矩形,我们可以这样分析:
(1)图案最大是5行5列
(2)第一行1个星,i=1,j=1
第二行2个星,i=2,j=2
第三行3个星,i=3,j=3
第四行4个星,i=4,j=4
第五行5个星,i=5,j=5
(3)由此可知,j<=i
public class ForNest2 {
public static void main(String[] args) {
for(int i =1;i<=5;i++){ // 外层的for循环控制的是行
for(int j =1;j<=i;j++){ //内层的for循环控制的是列
System.out.print("*\t"); //输出*并空4格
}
System.out.println(); //外层的for控制着行,加个输出语句,表示换行
}
}
}
需求3:打印9行9列的*三角型
public class ForNest2 {
public static void main(String[] args) {
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
System.out.print("*\t");
}
System.out.println();
}
}
}
执行结果如下:
*
* *
* * *
* * * *
* * * * *
* * * * * *
* * * * * * *
* * * * * * * *
* * * * * * * * *
需求4:打印九九乘法表
public class ForNest2 {
public static void main(String[] args) {
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(j + "*" + i + "=" + (i * j) + "\t");
}
System.out.println();
}
}
}
执行结果如下:
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81

浙公网安备 33010602011771号