1. 程式人生 > 其它 >控制流程語句--迴圈結構--巢狀迴圈--雙重for迴圈

控制流程語句--迴圈結構--巢狀迴圈--雙重for迴圈

程式示例

需求1:請輸出一個4行5列的星星(*)圖案

* * * * *
* * * * *
* * * * *
* * * * *

需求2: 用迴圈實現列印如下三角形的*圖案


*
* *
* * *
* * * *
* * * * *


public class ForNestDemo {
public static void main(String[] args) {

// 需求一
for(int i=1;i<=5;i++){ ⬅輸出一行五個 *
System.out.print("*\t");
}
System.out.println(); ⬅實現換行

for(int i=1;i<=5;i++){
System.out.print("*\t");
}
System.out.println();

for(int i=1;i<=5;i++){
System.out.print("*\t");
}
System.out.println();

for(int i=1;i<=5;i++){
System.out.print("*\t");
}
System.out.println();

⬇(這樣程式碼還有重複的地方,再用for迴圈改進)

//for迴圈的巢狀--雙重for迴圈


for (int i = 1; i <= 4; i++) { // 外層的for迴圈控制的是行
for (int j = 1; j <= 5; j++) { //內層的for迴圈控制的是列
System.out.print("*\t");
}
System.out.println();
}

System.out.println("===========需求2====================");
/*
分析:
1、總共有5行5列,我們可以先列印5行5列
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *

2、第一行1個星,i=1,j=1 得出規律:j<=i
第二行2個星,i=2,j=2
第三行3個星,i=3,j=3
第四行4個星,i=4,j=4
第五行5個星,i=5,j=5

*/
//第一步:先打五行五列。
for (int i = 1; i <= 5; i++) {
for (int j = 1; j <= 5; j++) {
System.out.print("*\t");
}
System.out.println();
}
System.out.println("==================================");

//第二步:把五行五列的形式變成下三角的形式。

for (int i = 1; i <= 5; i++) { // 外層的for迴圈控制的是行
for (int j = 1; j <= i; j++) { //內層的for迴圈控制的是列
System.out.print("*\t");
}
System.out.println();
}

System.out.println("===========列印9行9列的*三角形===========");
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
System.out.print("*\t");
}
System.out.println();
}

//由上面的九行九列的*三角形,改一下輸出語句就可以轉化為九九乘法表。

System.out.println("===========列印九九乘法表===========");
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
//1*1=1 1*2=2
System.out.print(j + "*" + i + "=" + (i * j) + "\t");
}
System.out.println();
}


}
}