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("输入有误!"); } } }