zoukankan      html  css  js  c++  java
  • 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 + "	"; // 利用字符串的加法将结果连接起来
                }
                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 + "	"; // 利用字符串的加法将结果连接起来
                }
                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) + "	";
                }
    
                System.out.println(line);
            }
        }
    }

  • 相关阅读:
    90. 子集 II 回溯算法
    47. 全排列 II 回溯算法
    40. 组合总和 II
    39. 组合总和 回溯
    NLP 第八课 语言技术-文本与LDA主题模型
    36. 有效的数独
    31. 下一个排列
    HDU 4527
    HDU 4521
    HDU 5191
  • 原文地址:https://www.cnblogs.com/buildnewhomeland/p/12150817.html
Copyright © 2011-2022 走看看