欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

循环嵌套详细讲解及练习题

程序员文章站 2022-10-04 10:06:14
7.14课后作业1.正三角形public class HollowRhombusText { public static void main(String[] args) { for (int i=1;i<=5;i++){ for (int j=5;j>=i-1;j--) System.out.print(" "); for(int j=1;j<=i;j++)...

嵌套循环及练习题:

嵌套循环
在一个循环语句内部再嵌套一个或多个循环,称为嵌套循环。
while、do-while与for循环可以任意嵌套多层。
各循环可互相嵌套,一般嵌套不超过三层。
外层循环变量变化一次,内层循环变化一轮。
break语句和continue语句
break用于强行退出循环,不执行循环中剩余的语句。
break在if里边不能单独使用,在任何循环语句的主体部分,均可用break控制循环的流程。
一个break只能结束一个作用域内的代码
continue 语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。
注意事项

  1. continue用在while,do-while中,continue 语句立刻跳到循环首部,越过了当前循环的其余部分。
  2. continue用在for循环中,跳到for循环的迭代因子部分。
结构:eg:
	a. while(1){ 
	      操作1
	   while(2){
		操作2
		}
	}
	
	b. do{
	      操作1
	      do{
	        操作2
	         }while(2)
	      }while(1);
	      
	 c. for(1){
	 	操作1
	 	for(2){
	 	  操作2
	 	  }
	    }
	d.while(1){
		操作1
		for(条2{
		  操作2
		}
	    }


1.正三角形

public class HollowRhombusText {
    public static void main(String[] args) {
        for (int i=1;i<=5;i++){//定义外侧循环,确定行数
            for (int j=5;j>=i-1;j--)//递减,并打印空格
                System.out.print(" ");
            for(int j=1;j<=i;j++)
                System.out.print(" *");//打印*递增
            System.out.println(" ");//换行
        }

2.实心菱形

package homeWork;

public class RhombusText {
    public static void main(String[] args) {
        //先打印出一个高四行的正三角形
        for (int i = 1; i <= 4; i++) {//定义竖行高度
         for (int j = 1; j <= 4; j++) {//定义横行长度
            if(i + j < 5 ){
                 System.out.print(" ");//横向打出空格
      }else{
            System.out.print(" "+"*");//横向打出*

         }
      }
   System.out.println();
   //上半部分
       }

     for(int i = 5; i >=1 ; i--){//与上半部分相似
       for(int j = 1; j <= 5; j++){
          if(i + j < 6 ){
           System.out.print(" ");
           }else {
              System.out.print( "*" + " " );

       }
       }
     System.out.println();
          }

            }
        }

3.空心菱形

package homeWork;

public class regularTriangle {
    public static void main(String[] args) {
        for(int i=6;i>=1;i--){   //菱形的上半部分
            for(int j=1;j<=11;j++){
                if(i==j||j==12-i){
                    System.out.print("*");
                }else{
                    System.out.print(" ");
                }
            }
            System.out.println();
        }

        for(int i=2;i<=6;i++){    //菱形的下半部分
            for(int j=1;j<=11;j++){
                if(i==j||j==12-i){
                    System.out.print("*");
                }else{
                    System.out.print(" ");
                }
            }
            System.out.println();
        }

    }
}

4.1~10之间的整数相加,得到累加值大于20的当前数,并最后输出1-10之间的整数和:

package homeWork;

/**
 * 1~10之间的整数相加,得到累加值大于20的当前数,并最后输出1-10之间的整数和
 */
public class NumberText {
    public static void main(String[] args) {
        int sum=0;//定义累加器
       for(int i=1;i<=10;i++){
         sum+=i;//遍历循环,并累加
         if(sum>20){//判断
             System.out.println(sum);
         }
       }
        System.out.println("1-10之间的整数和:"+sum);
    }

}

5.录入5名学生的java成绩,计算平均值,计算成绩大于80分的比例;如果录入负数,停止录入并提示错误。

package homeWork;

import java.util.Scanner;

/**
 * 5.录入5名学生的java成绩,计算平均值,计算成绩大于80分的比例;如果录入负数,停止录入并提示错误
 */
public class coreText {
    public static void main(String[] args) {
        int agv;//平均数
        int JavaCore = 0;//Java成绩
        double People=0;//人数
        while (true){
            int sum=0;//总分数
            boolean flage=true;
            System.out.println("请输入五位同学的JAVA成绩(整数):");
            for(int i=1;i<=5;i++){
                JavaCore = new Scanner( System.in ).nextInt();//接受录入的Java成绩。
                if(JavaCore>=80){
                    People++;
                }
                sum+=JavaCore;//录入总成绩
                if(JavaCore<0){
                    System.out.println("输入的格式不对");
                    flage=false;
                    break;
                }
            }
            if(flage){
                agv=sum/5;
                System.out.println("平均值:"+agv);
               System.out.println("计算成绩大于80分的比例"+(People/5*100+"%"));
                break;
            }else {
                System.out.println("录入错误,请重新输入五位同学的成绩:");
            }
        }

}}

6.九九乘法表

package homeWork;

public class MultiplicationTableText {
    public static void main(String[] args) {
        for (int i=1;i<=9;i++){//定义行数1....9
            for (int j=1;j<=i;j++){//定义列
                System.out.print("\t"+j+"*"+i+"="+i*j);
            }
            System.out.println("\t");
        }
    }
}

本文地址:https://blog.csdn.net/weixin_44947939/article/details/107351870