解決有趣的模式問題可以增強對循環的理解。它們是必不可少的,因為它們有助於建立對特定程式語言的堅實基礎。有各種各樣的模式,包括基於數字、基於星號和基於字母的模式。在本文中,我們將討論一些Java程式來列印有趣的星型模式。
宣告並初始化一個指定行數和列數的整數「n」。
定義一個將運行到「n」的 for 迴圈。在此迴圈內定義一個 if-else 區塊。
if 區塊將在第一行和最後一行中列印星號“n”次,else 區塊將在第二行到第四行中列印空格“n/2”,表示2 次和星號一次。
public class P1 { public static void main(String[] args) { int n = 5; for(int i = 1; i <= n; i++) { // till number of rows if(i == 1 || i == n) { for(int str = 1; str <= n; str++) { System.out.print("*\t"); } } else { for(int spc = 1; spc <= n/2; spc++) { System.out.print("\t"); } for(int str = 1; str <= 1; str++){ System.out.print("*"); } } System.out.println(); // to move cursor to next line } } }
* * * * * * * * * * * * *
宣告並初始化一個指定行數的整數「n」。
建立一個嵌套的for循環,外部循環將運行到'n',內部循環將運行到空格的數量並列印空格。列印完後,我們將空格計數減1。
再次採用另一個內部 for 循環,該循環將運行到星星數並列印星星。列印後,我們會將星星計數增加 2。
public class P2 { public static void main(String[] args) { int n = 5; int spc = n-1; // initial space count int str = 1; // initial star count for(int i = 1; i <= n; i++) { for(int j = 1; j <= spc; j++) { // spaces System.out.print("\t"); } spc--; for(int k = 1; k <= str; k++) { // stars System.out.print("*\t"); } str += 2; System.out.println(); } } }
* * * * * * * * * * * * * * * * * * * * * * * * *
宣告並初始化一個指定行數的整數「n」。
定義巢狀的for循環,外層循環將從'n'到1運行,第一個內層循環將列印空格,第二個內層循環將列印星號。
public class P3 { public static void main(String[] args) { int n=5; for(int i = n; i >= 1; i--) { for(int spc = n-i; spc >= 1; spc--){ // spaces System.out.print("\t"); } for(int str = 1; str <= i; str++){ // stars System.out.print("*\t"); } System.out.println(); } } }
* * * * * * * * * * * * * * *
宣告並初始化一個指定行數的整數「n」。
建立一個巢狀的 for 循環,外部循環將運行到“n”,第一個內部 for 循環將運行到空格數並列印空格。第二個將列印星星。
現在,採用 if-else 區塊,if 區塊會檢查行號是否小於 3。如果小於,則執行 if 區塊以減少空間計數並增加星號計數。
如果行號大於2,則執行else區塊以增加空格計數並減少星號計數。
public class P4 { public static void main(String[] args) { int n = 5; int spc = 2; // initial space count int str = 1; // initial star count for (int i = 1; i <= n; i++) { for (int j = 1; j <= spc; j++) { // spaces System.out.print("\t"); } for (int j = 1; j <= str; j++) { // stars System.out.print("*\t"); } if ( i <= 2) { spc--; str += 2; } else { spc++; str -= 2; } System.out.println(); } } }
* * * * * * * * * * * * *
宣告並初始化一個指定行數的整數「n」。
定義嵌套的 for 循環,外部循環將運行到“n”,第一個內部循環將列印空格,第二個內部循環將列印星星。
public class P5 { public static void main(String[] args) { int n = 5; for(int i = 1; i <= n; i++){ for(int spc = 1; spc <= n-i; spc++) { System.out.print("\t"); } for(int str = 1; str <= i; str++) { System.out.print("*\t"); } System.out.println(); } } }
* * * * * * * * * * * * * * *
在本文中,我們討論了有趣的星形圖案的問題。這些模式解決方案將幫助您解碼模式問題的邏輯,並使您能夠自行解決其他模式。
以上是列印有趣圖案的程序的詳細內容。更多資訊請關注PHP中文網其他相關文章!