Java循环语句之多重循环(十六)

循环体中包含循环语句的结构称为多重循环。三种循环语句可以自身嵌套,也可以相互嵌套,最常见的就是二重循环。在二重循环中,外层循环每执行一次,内层循环要执行一圈。

如图:

例如:

1)使用*打印长方形如下:

实现代码为:

public class HelloJava {
    public static void main(String[] args) {
        //外层循环控制打印的行数
        for (int i = 1; i <= 3; i++) {
            // 内层循环控制每行打印的*号数
            for (int j = 1; j <= 8; j++) {
                System.out.print("*");
            }
            //每行打印完换行
            System.out.println();
        }
    }
}

2)使用*打印直角三角形如下:

 

实现代码为:

public class HelloJava {
    public static void main(String[] args) {
        System.out.println("打印直角三角形");   
        // 外层循环控制行数
        for (int i = 1;  i<=3;i++) {   
            // 内层循环控制每行的*号数
            // 内层循环变量的最大值和外层循环变量的值相等
            for (int j =1; j<=i;j++) { 
            System.out.print("*");
            }
            // 每打印完一行后进行换行
            System.out.println();
        }
    }
}

3)判断一个数(小于10位)的位数。输入999,则输出 “它是个3位的数!”

(我太辣鸡了,花了好长时间也没做出来...只能copy大佬的 QAQ)

解法1:

public class HelloJava {
    public static void main(String[] args) {
        int num = 999;
        int count = 0;
        do
        {
            count++;
            num=num/10; 
        } while(num >0);
        System.out.println("它是个" + count + "位的数!");
   }
}

解法2:

public class HelloJava {
    public static void main(String[] args) {
        int num = 999;
        int count = 0;
        if (num >= 0  && num<=999999999){//小于10位数
            while(num != 0){//判断num不等于0 继续循环
                count++;//num不等于0,count加1
                num/=10;//第一次循环99.9取整99继续循环,直到0.99取整等0停止循环
            }
            System.out.println("它是个"+ count+"位的数!"); 
        } else {
        System.out.println("输入有误!");
        }
   }
}

 

posted @ 2020-03-13 17:19  梦清欢  阅读(378)  评论(0编辑  收藏  举报