1. 编程创建一个person类,在其中包括域(姓名,性别,年龄,职业)和方法(获得姓名,性别,修改年龄,职业)。
2.将person类作为父类,创建子类student和teacher。
3.随机产生一组student与teacher的对象,并用person类型的数组进行管理,输出每个对象的姓名,性别,年龄以及职业。
public class J_person
{
public String m_name;
public String m_sex;
public int m_age;
public String m_job;

public J_person(String name,String sex,int age,String job)
{
getData(name,sex);
setData(age,job);
}

public void getData(String name,String sex)
{
m_name=name;
m_sex=sex;
}

public void setData(int age,String job)
{
m_age=age;
m_job=job;
}
}public class J_student extends J_person
{
public  J_student()
{
super("Lily","Female",19,"Student");
{
  J_student a=new J_student();
  J_person c=a;
  return(c);
}

}
}public class J_teacher extends J_person
{
public J_teacher()
{
super("John","Male",25,"Teacher");
J_teacher b=new J_teacher();
J_person d=b;
}
return(d);
}import static java.lang.Math.random;public class J_a 
{
    public double getnum()
{
double t;
    t=random();
   return(t);  
}
}class J_run
{
public static void main(String args[])
{
J_person();
J_student();
J_teacher();
char person;
J_person [] person={c,d};
getnum();

if(t>=0.0&&t<0.5)
  System.out.println(c);
else
  System.out.println(d);
}
}这是我编的程序,有很多错,希望高人指点,多谢了!

解决方案 »

  1.   

    public class Person {
    public String name;
    public String sex;
    public int age; public Person(String name, String sex, int age) {
    this.name = name;
    this.sex = sex;
    this.age = age;
    }
    }Student:
    public class Student extends Person {
    public String job; public Student(String name, String sex, int age, String job) {
    super(name, sex, age);
    this.job = job;
    }

    public String toString(){
    return "name:" + name + "\nsex:" + sex + "\nage:" + age + "\njob:" + job;
    }
    }
    Teacher:public class Teacher extends Person {
    private String job; public Teacher(String name, String sex, int age, String job) {
    super(name, sex, age);
    this.job = job;
    }

    public String toString(){
    return "name:" + name + "\nsex:" + sex + "\nage:" + age + "\njob:" + job;
    }
    }
    Main:import static java.lang.Math.random;public class Main{
    public static void main(String args[]) {
    Student student = new Student("Lily", "Female", 19, "Student");
    Teacher teacher = new Teacher("John", "Male", 25, "Teacher");
    Person[] person = { teacher, student };
    double t = random(); if (t >= 0.0 && t < 0.5)
    System.out.println(person[0]);
    else
    System.out.println(person[1]);
    }
    }
      

  2.   

    public class J_teacher extends J_person 

    public J_teacher() //有return方法必须有返回类型

    super("John","Male",25,"Teacher"); 
    J_teacher b=new J_teacher(); 
    J_person d=b; //你这个赋值我看不太懂

    return(d); 

       本人初学者·~希望没有误导你
      

  3.   

    public class J_student extends J_person 

    public  J_student() 

    super("Lily","Female",19,"Student"); 

      J_student a=new J_student(); 
      J_person c=a; 
      return(c); //c是一个实例
    } } 
    public class J_teacher extends J_person 

    public J_teacher() 

    super("John","Male",25,"Teacher"); 
    J_teacher b=new J_teacher(); 
    J_person d=b; 

    return(d); //d是一个实例
    } 个人观点:你的return方法都返回的是一个实例~~~可以这样用吗??是不是语法错误??
          ~希望有高人可以指点
         
      

  4.   

    1楼为什么不把 job 属性也放在父类中呢?job 也应该person该有的属性啊。
      

  5.   


    /**
     * 
     *//**
     * @author liusk
     *
     */
    public class PersonTest { /**
     * @param args
     */
    public static void main(String[] args) {
    student student = new student("Lily", "Female", 19, "Student");
            teacher teacher = new teacher("John", "Male", 25, "Teacher");
            Person[] person = { teacher, student };
            double t = random();        if (t >= 0.0 && t < 0.5) {
                System.out.println(person[0]);
            }
            else{
                System.out.println(person[1]);
            }
    }}
    /**
     * 
     *//**
     * @author liusk
     *
     */
    public class Person {

    public String name;
    public String sex;
    public String age;
    public String job;
    /**
     * @return age
     */
    public String getAge() {
    return age;
    }
    /**
     * @param age 設定する age
     */
    public void setAge(String age) {
    this.age = age;
    }
    /**
     * @return job
     */
    public String getJob() {
    return job;
    }
    /**
     * @param job 設定する job
     */
    public void setJob(String job) {
    this.job = job;
    }
    /**
     * @return name
     */
    public String getName() {
    return name;
    }
    /**
     * @param name 設定する name
     */
    public void setName(String name) {
    this.name = name;
    }
    /**
     * @return sex
     */
    public String getSex() {
    return sex;
    }
    /**
     * @param sex 設定する sex
     */
    public void setSex(String sex) {
    this.sex = sex;
    }}/**
     * 
     *//**
     * @author liusk
     *
     */
    public class student extends Person{

    public String job;    public student(String name, String sex, int age, String job) {
            this.name = super.getName();
            this.sex = super.getSex();
            this.age = super.getAge();
            this.job = job;
        }
        
        public String toString(){
            return "name:" + name + "\nsex:" + sex + "\nage:" + age + "\njob:" + job;
        }
    }
    /**
     * 
     *//**
     * @author liusk
     *
     */
    public class teacher extends Person{ private String job;    public teacher(String name, String sex, int age, String job) {
         this.name = super.getName();
            this.sex = super.getSex();
            this.age = super.getAge();
            this.job = job;
        }
        
        public String toString(){
            return "name:" + name + "\nsex:" + sex + "\nage:" + age + "\njob:" + job;
        }}
      

  6.   

    class Person
    {
    private String name;
    private String sex;
    private int age;
    private String job;
    public Person(){}
    public Person(String name,String sex,int age,String job)
    {
    this.name=name;
    this.sex=sex;
    this.age=age;
    this.job=job;
    }
    public String getName()
    {
    return name;
    }
    public String getSex()
    {
    return sex;
    }
    public int getAge()
    {
    return age;
    }
    public String getJob()
    {
    return job;
    }
    public String toString()
    {
    return ("姓名:"+name+" 性别:"+sex+" 年龄:"+age+" 职业:"+job);
    }
    }
    class Student extends Person
    {
    public Student(){}
    public Student(String name,String sex,int age)
    {
    super(name,sex,age,"学生");
    }
    }
    class Teacher extends Person
    {
    public Teacher(){}
    public Teacher(String name,String sex,int age)
    {
    super(name,sex,age,"老师");
    }
    }
    public class Test
    {
    public static void main(String args[])
    {
    Person p[]=new Person[2];
    p[0]=new Student("王明","男",23);
    p[1]=new Teacher("大王","女",45);
    for(int i=0;i<p.length;i++)
    {
    System.out.println(p[i]);
    }
    }
    }
      

  7.   

    感觉楼主深受c语言的毒害啊,呵呵,你的代码中能看到很多c语言的影子。我给你一个代码参考下。
    你可以把前三个类的public修饰符去掉,把这 三个类的定义都放到J_a 这个类文件里面去测试:public class J_person {
    private String m_name;
    private String m_sex;
    private int m_age;
    private String m_job; public J_person(String name, String sex, int age, String job) {
    m_name = name;
    m_sex = sex;
    m_age = age;
    m_job = job;
    } public void setM_age(int m_age) {
    this.m_age = m_age;
    } public void setM_job(String m_job) {
    this.m_job = m_job;
    } public String getM_name() {
    return m_name;
    } public String getM_sex() {
    return m_sex;
    }

    public String toString(){
    String str="姓名:"+m_name+"\n姓别:"+m_sex+"\n年龄:"+m_age+"\n职业:"+m_job;
    return str;
    }
    }
    public class J_student extends J_person {
    public J_student() {
    super("Lily", "Female", 19, "Student");
    }
    }
    public class J_teacher extends J_person {
    public J_teacher() {
    super("John", "Male", 25, "Teacher");
    }
    }
    import static java.lang.Math.random;public class J_a {
    public static double getnum() {
    double t;
    t = random();
    return (t);
    } public static void main(String args[]) {

    J_person[] person = new J_person[2];
    person[0] = new J_student();
    person[1] = new J_teacher(); double t = getnum(); if (t >= 0.0 && t < 0.5)
    System.out.println(person[0]);
    else
    System.out.println(person[1]);
    }
    }
      

  8.   

    代码好酷!
    变量都是a,b,c的单字母风格颇有google之风啊!