解決有趣的模式問題可以增強對循環的理解。它們是必不可少的,因為它們有助於建立對特定程式語言的堅實基礎。有各種各樣的模式,包括基於數字、基於星號和基於字母的模式。本文將指導您使用Java中的嵌套for循環來解決一個小屋星型模式。
由於我們要使用巢狀for迴圈來解決問題,因此有必要討論一下它的語法。
for ( initial expression; conditional expression; increment/decrement expression ){ for ( initial expression; conditional expression; increment/decrement expression ) { // code to be executed } }
初始表達式 - 循環開始時執行一次。
條件表達式 - 程式碼將在條件表達式為真時執行。
遞增/遞減表達式 - 遞增/遞減循環變數。
將整個模式分成兩部分。第一部分是一個上三角形狀,第二部分是下一個矩形部分。
宣告並初始化一個整數“n”,指定上下部分的行數。
宣告並初始化空格和星星的初始計數。
現在,為上三角部分定義一個巢狀的 for 迴圈。外部 for 迴圈將運行到“n”,第一個內部迴圈將運行到空格計數並列印空格。列印後將空格數減 1。
第二個內部的for迴圈將運行直到星星計數,並列印星星。列印後將星星數增加2。
再次建立另一個巢狀的for迴圈。外部for循環將運行到'n',第一個內部循環將列印左側矩形形狀,第二個內部循環將列印空格,最後一個內部循環將列印右側矩形形狀。
public class Hut { public static void main(String[] args) { // count of upper triangle row and lower rectangle row int n = 5; int spc = n-1; // initial count of space int str = 1; // initial count of star // upper triangular shape for(int i = 1; i <= n; i++) { for(int j = 1; j <= spc; j++) { // for space System.out.print("\t"); } spc--; for(int k = 1; k <= str; k++) { // for star System.out.print("*\t"); } str += 2; System.out.println(); // to move the cursor to next line } // lower rectangular shape for (int i = 0; i < n; i++) { // for left rectangular shape for (int j = 0; j < n/2; j++) { System.out.print("*\t"); } // for space for (int j = 0; j < 5; j++) { System.out.print("\t"); } // for right rectangular shape for (int j = 0; j < n/2; j++) { System.out.print("*\t"); } System.out.println(); // to move the cursor to next line } } }
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
在這篇文章中,我們討論了小屋星形模式的解決方案。我們藉助巢狀 for 迴圈解決了這個特殊問題。這將幫助您解碼模式問題的邏輯,並使您能夠自行解決其他模式。
以上是列印小屋星形圖案的程序的詳細內容。更多資訊請關注PHP中文網其他相關文章!