99乘法表(for循環嵌套)


計算乘法表

  • 兩個數相乘,外層循環代表被乘數,控制行數;內層代表乘數,控制列數。
  • 循環嵌套,變量名不可以重復。
  • 使用 break 語句讓輸出的乘法表更簡潔。
  • 使用 String 變量,做 String 的加法。

 

public class MultiTabble {
    public static void main(String[] args) {
        for (int i = 1; i <= 9; i++) { // 控制行 被乘數
            String line = "";
            for (int j = 1; j <= 9; j++) { // 控制列 乘數
                line += i + "*" + j + "=" + i * j + "\t"; // 利用字符串的加法將結果連接起來
            }
            System.out.println(line);
        }
    }
}

 

 


我們發現運算結果,有大量的重復結果,例如1*2和2*1、1*3和3*1等等。

這是不符合乘法口訣表的擺放規則的。

那么這時我們就要想辦法把重復的等式去掉

通過觀察,在 i * j 的形式下,只要去掉 j 大於 i 的等式即可滿足要求。

如何實現呢?

利用 break 語句跳出循環的這一特性來實現:當發現 j > i 時,就會跳出當前一層的循環(也就是這里的關於 j 的內循環),到達外層循環(關於 i 的外循環)。

public class MultiTabble {
    public static void main(String[] args) {
        for (int i = 1; i <= 9; i++) { // 控制行 被乘數
            String line = "";
            for (int j = 1; j <= 9; j++) { // 控制列 乘數

                if (j > i) {
                   break; // 利用break跳出循環的操作解決重復問題
                }

                line += i + "*" + j + "=" + i * j + "\t"; // 利用字符串的加法將結果連接起來
            }
            System.out.println(line);
        }
    }
}


除了上面的一種方法以外,還有一個更加簡單的方法實現乘法表。

就是讓內循環中的變量 j 只要小於等於外循環的 i 即可。

這樣內循環就不會超過外循環的最大數值,

例如,i 的值為 5,j 的值就只能是1,2,3,4,5. 這就解決了等式重復的問題。

public class MultiTable2 {
    public static void main(String[] args) {
        for(int i = 1; i <= 9; i++) {
            String line = "";

            for( int j = 1; j <= i; j++) {
                line += i + "*" + j + "=" + (i*j) + "\t";
            }

            System.out.println(line);
        }
    }
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM