Java中的 for循环嵌套及continue 使用

本文通过具体示例介绍了如何使用Java实现循环嵌套和条件判断,包括利用for循环输出特定格式的字符以及在输入成绩时进行合法性的检查。

简单的循环嵌套

输出下面格式

*****
*****
*****

利用for循环进行嵌套来做到

        //循环嵌套
        
        for (int i = 1; i<=3; i++) {
            System.out.println("");
            for (int j = 1; j<=5; j++) {
                System.out.print("*");
            }
        }
        System.out.println("");
        

continue的作用,使本次循环停止,然后继续进行下一次循环

import java.util.Scanner;

public class test12{   //使用时请将 text12 改成自己的文件名
    public static void main(String[] args) {
        
        double sum = 0;
        Scanner sc = new Scanner(System.in);

        for (int i = 1; i<=5; ) {  //这里的i++不写,移到下边写
            System.out.println("输入第"+i+"个同学的成绩:");
            double score = sc.nextDouble();

            if (score<0 || score>100) {
                System.out.println("Error!");
                continue;//在输入的成绩不符合0~100之间时,跳出本次循环

            }
            i++;//放在外边就是为了不让循环继续下去,能够再一次进行本次循环直至输入的数据符合要求
            sum = sum + score;
        }
        double avg = sum/5;
        System.out.println("五个同学的平均成绩为:"+avg);
    }
}

运行结果

可以看出输入的数据不符合要求时,会报错,然后会让你再次输入,直至输入正确。

共三个班级,计算每个班级五名同学的平均成绩

import java.util.Scanner;
public class test13{  //将test13改成自己的文件名
    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        //double sum = 0;  sum不可定义在循环外;如果定义在这里会出现计算时的结果累加,有兴趣可自己尝试

        for (int i = 1; i<=3; i++) {

            double sum = 0;//由上原因,定义到这里,每次循环前都会初始化一次,就不会出现数据累加

            System.out.println("第" + i +"个班的成绩:");

            for (int j = 1; j<=5; ) {

                System.out.println("输入第"+i+"个班的第"+j+"个同学的成绩:");
                
                double score = sc.nextDouble();

                if (score<0 || score>100) {

                    System.out.println("Error!");
                    continue;

                }

                j++;
                sum = sum + score;
                
            }
            double ave = sum/5;
            System.out.println("第"+i+"个班的平均成绩:"+ave);
            System.out.println("");
        }
    }
}

运行结果

注意:如果sum定义的位置如代码中所说,会出现第一个班级平均成绩正确,但第二个班级平均成绩

会变为2(1+1)的结果,而第三个班变为3(1+2)的结果

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZAOYINY

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值