JAVA如何实现循环从键盘输入学生的年龄

img


求解答
当输入的年龄小于0,则提示年龄不能小于0,请重新输入,
当输入的年龄大于0,则提示当前已输入的学生数量和平均年龄,
当输入的年龄等于0,则提示结束输入操作,然后打印学生总人数和平均年龄。


package csdn20220608;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

/**
 * @author wf
 */
public class ScoreTest {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        List<Integer> list = new ArrayList<>();
        while (true) {
            System.out.print("请输入学生的年龄:");
            int age = scanner.nextInt();
            if (age < 0) {
                System.out.println("年龄不能小于0,请重新输入");
                continue;
            }
            if (age > 0) {
                list.add(age);
                System.out.println("当前已输入学生的数量为:" + list.size());
                int total = 0;
                for (Integer in : list) {
                    total += in;
                }
                System.out.println("当前已输入学生的平均年龄为" + total/list.size());
            }

            if (age == 0) {
                System.out.println("结束!");
                System.out.println("学生总数量为:" + list.size());
                int total = 0;
                for (Integer in : list) {
                    total += in;
                }
                System.out.println("学生的平均年龄为:" + total/list.size());
                break;
            }
        }
    }
}

提供思路 for循环 + scanner键盘输入+if判断

package com.test;

import java.util.Scanner;

public class Test3 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int input = 0;
        int num = 0;
        int sum = 0;
        while (true){
            System.out.println("请输入学生的年龄:");
            try {
                input = Integer.parseInt(scanner.nextLine());
            }catch (Exception e){
                System.out.println("请输入正确的数字。");
                break;
            }
            if (input < 0){
                System.out.println("年龄不能小于0,请重新输入。");
            }else if (input == 0){
                break;
            }else {
                num++;
                sum += input;
                System.out.println("已输入的学生数量:"+num+"名,平均年龄:"+sum*1.0/num+"岁。");
            }
        }
        System.out.println("结束输入操作。");
        if (num > 0){
            System.out.println("输入的学生数量:"+num+"名,平均年龄:"+sum*1.0/num+"岁。");
        }else {
            System.out.println("一个年龄都没有输入。");
        }
    }
}