初java,想简单写个键盘录入,屏幕输出的类,但是运行报错

import java.util.Scanner;

//学生类
public class Student{
//姓名,年龄,爱好
private String name;
private int age;
private String habit;

//构造方法
Student(String x,int y,String z){
    this.name = x;
    this.age = y;
    this.habit = z;
}

//打印
public void print(){
    
}
//返回姓名
public String getPerName(){
    return name;
}

//传入姓名
public void setPerName(String name){
    this.name = name;
}

//返回年龄
public int getPerAge(){
    return age;
}

//传入年龄
public void setPerAge(int aga){
    if(age>0&&age<150){
        this.age = age;
    }
}

//返回爱好
public String getPerHabit(){
    return habit;
}

//传入爱好
public void setPerHabit(String habit){
    this.habit = habit;
}

//main方法
public static void main(String[] args){
    Scanner sc = new Scanner(System.in);
    System.out.println("请输入学生姓名:");
    String name = sc.nextLine();
    System.out.println("请输入学生年龄:");
    String age = sc.nextLine();
    System.out.println("请输入学生爱好:");
    String habit = sc.nextLine();
    Student s = new Student();
    setPerName(name);
    setPerAge(aga);
    setPerHabit(habit);
    System.out.println("添加成功");
    System.out.println("姓名:"+name+ "\t年龄:"+age+"\t爱好:"+habit);
}

}

你写的是有参构造方法,直接这么写就行了

 Student s = new Student(name, Integer.parseInt(age), habit);

没有无参数会报错,age是int,不能用nextline