引起异常出现的错误是什么

实例化一个Person 然后要求用户输入用户名
和年龄 并加以验证
名字至少一个字符 否则输出 姓名不能为空
年龄必须是0到100之间的数字 否则输出年龄不合法
都输入正确时最后输出该用户信息

public class Test05 {
}
class Person{
private String name
private int age
}

错误是缺少属性的初始化,比如 name 和 age 都没有初始化,同时 Person 类也没有无参构造器。

以下是修改后的代码:

import java.util.Scanner;

public class Test05 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        Person person = new Person();

        System.out.print("请输入姓名:");
        String name = scanner.nextLine();
        if (name.length() == 0) {
            System.out.println("姓名不能为空");
            return;
        }
        person.setName(name);

        System.out.print("请输入年龄:");
        int age = scanner.nextInt();
        if (age < 0 || age > 100) {
            System.out.println("年龄不合法");
            return;
        }
        person.setAge(age);

        System.out.println("该用户信息如下:");
        System.out.println("姓名:" + person.getName());
        System.out.println("年龄:" + person.getAge());
    }
}

class Person {
    private String name;
    private int age;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}


有用请采纳,点击右侧采纳即可:

import java.util.Scanner;

public class Test05 {
  public static void main(String[] args) {
    Scanner input = new Scanner(System.in);
    Person person = new Person();
    
    System.out.print("Enter name: ");
    String name = input.nextLine();
    if (name.length() == 0) {
      System.out.println("Name cannot be empty.");
      return;
    }
    person.setName(name);
    
    System.out.print("Enter age: ");
    int age = input.nextInt();
    if (age < 0 || age > 100) {
      System.out.println("Age is not valid.");
      return;
    }
    person.setAge(age);
    
    System.out.println("User information: ");
    System.out.println("Name: " + person.getName());
    System.out.println("Age: " + person.getAge());
  }
}

class Person {
  private String name;
  private int age;
  
  public void setName(String name) {
    this.name = name;
  }
  
  public String getName() {
    return name;
  }
  
  public void setAge(int age) {
    this.age = age;
  }
  
  public int getAge() {
    return age;
  }
}


不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^