加了限制条件,但无法重新录入新的数据,如何解决?(标签-Ar|关键词-ArrayList)

package com.heime.ArryList;

import com.heime.Domain.Student;

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

public class Demo3Redo {

/*  需求:创建一个存储学生对象的集合,存储3个学生对象,使用程序实现在控制台遍历该集合
          学生的姓名和年龄来自于键盘录入
    步骤方法:1,定义一个学生类
    2,创建集合对象
    3,键盘录入学生数据
    4,创建学生字符串,然后将键盘录入的数据赋值给学生对象的成员变量
    5,往集合中添加学生对象
    6,遍历集合
*/

    public static void main(String[] args) {

//        2,创建集合对象
        ArrayList<Student> list = new ArrayList<>();


        Student a = getArry();
        Student b = getArry();
        Student c = getArry();

//    5,往集合中添加学生对象
        list.add(a);
        list.add(b);
        list.add(c);

//            6,遍历集合

        for (int i = 0; i < list.size(); i++) {
            Student stu11 = list.get(i);

                System.out.println(stu11.getName() +  + stu11.getAge());



        }

    }

    public static Student getArry() {
        //        3,键盘录入学生数据
        Scanner sc = new Scanner(System.in);

        System.out.println("请输入学生姓名:");
        String name = sc.next();

        System.out.println("请输入学生年龄:");
        int age = sc.nextInt();
        if(age >= 20){
            System.out.println("您输入的年龄超过20岁,请重新输入:");
        }


//       4,创建学生字符串,然后将键盘录入的数据赋值给学生对象的成员变量
        Student stu1 = new Student(name,age);

        return stu1;
    }
}

if(age >= 20){
     System.out.println("您输入的年龄超过20岁,请重新输入:");
 }

你现在上面这个代码是做了判断,但是没有做判断后的事情。

你试试这样

System.out.println("请输入学生年龄:");
 int age = sc.nextInt();
if(age >= 20){
     System.out.println("您输入的年龄超过20岁,请重新输入:");
      age = sc.nextInt();
 }

System.out.println("您输入的年龄超过20岁,请重新输入:");
这一行下面要重新调用 getArry()方法 不然怎么会录入新数据
即添加
return getArry();