java 继承、接口与包的使用

问题遇到的现象和发生背景

建立Person类,学生类和teacher类都继承该类并分别含有属性选修课数,教学科目,第一行输入类型(Teacher或Student),第二行输入“姓名 年龄 特有属性”,输出“某某是学生,多少岁,这学期共选了多少门课\”或“某某是teacher,多少岁,教什么课\n”

问题相关代码,请勿粘贴截图

运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

输入用例
Teacher
Hu
35
C语言程序设计

输出用例
Hu是teacher,35岁,教C语言程序设计课

输入用例
Teacher
Ma
45
离散数学

输出用例
Ma是teacher,,45岁,教离散数学课

输入用例
Student
Zhang
18
10

输出用例
Zhang是学生,18岁,这学期共选了10门课

Person类中有什么属性。

public class Person{
 
  String name;
  int age;
  public Person(){}
  public Person(String name,int age){
   
    this.name=name;
    this.age=age;
  }
}
public class Student extends Person{
  int classNum;
  public Student(String name,int age,int classNum){
    this.name=name;
    this.age=age;
    this.classNum=classNum;

  }
  public void info(){
    System.out.println(name +"是学生,"+age+"岁,这学期共选了"+classNum+"门课");
  }
}

public class Teacher extends Person{
  String cName;
  public Teacher (String name,int age,String cName){
    this.name=name;
    this.age=age;
    this.cName=cName;
  }
  public void info(){
    System.out.println(name +"是teache,"+age+"岁,教"+cName+"课");
  }
}
import java.util.Scanner;
public class Main{
  public static void main(String []args){
    Scanner in=new Scanner(System.in);
    String type=in.next();
    if("Teacher".equals(type)){
      Teacher teacher=new Teacher(in.next(),in.nextInt(),in.next());
      teacher.info();
    }else if("Student".equals(type)){
      Student student=new Student(in.next(),in.nextInt(),in.nextInt());
      student.info();
    }
  }
}

《一文读懂Java面向对象》

《类和实例通俗理解》

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632