1:
public class Account
{
private double balance;
Account(){};
Account(double b)
{ balance=b;}
public double getBalance()
{ return balance;}
public void deposit(double amt)
{
balance= (balance+amt);
System.out.println( "Deposit "+amt);
}
public void withdraw(double amt)
{
// balance=balance - awt; //有问题
System.out.println("Withdraw "+amt);
}
public static void main(String args[])
{
System.out.println("Creating an account with a 500.00 balance.");
Account a=new Account(500.00);
a.withdraw(150.00);
a.deposit(22.50);
a.withdraw(47.62);
System.out.println("The account has a balance of "+a.getBalance());
}

//Creating an account with a 500.00 balance.
//Withdraw 150.00
//Deposit 22.50
//Withdraw 47.62
//The account has a balance of 324.88
2:要求输出名字,工资,部门;用到了覆盖方法
class Employee
{
public String name;
public double salary;
Employee(){};
Employee(String n,double s)
{
name=n;
salary=s;
}
public String getDetails()
{
return "Name:"+name+ "Salary:"+salary;
}
}
class Manager extends Employee
{
public String department;
Manager(String n,double s,String d)
{
name=n;salary=s;
department=d;
}
public String getDetails(String n,double s,String d)
{
super.getDetails();
return "Department:"+department;
}
}
public class TestEmployeeManager
{
public static void main(String args[])
{
Manager a=new Manager("zsh",1000.0,"english");
a.getDetails();
}
}
//程序代码调试无问题,但是输不出结果

解决方案 »

  1.   

    package csdn;
    class Employee
    {
    public String name;
    public double salary;
    Employee(){};
    Employee(String n,double s)
    {
    System.out.println("Employee");
    name=n;
    salary=s;
    }
    public String getDetails()
    {
    return "Name:"+name+ "Salary:"+salary;
    }
    }
    class Manager extends Employee
    {
    public String department;
    Manager(String n,double s,String d)
    {
    System.out.println("Employee mag");
    name=n;salary=s;
    department=d;
    }
    public String getDetails(String n,double s,String d)
    {
    super.getDetails();
    return "Department:"+department;
    }
    }
    public class TestEmployeeManager
    {
    public static void main(String args[])
    {
    Manager a=new Manager("zsh",1000.0,"english");
    System.out.println(a.getDetails());
    }
    }
    你没输出语句
      

  2.   

    这个输出语句我加过,但是无法输出 Department:english 这一句出来?
    请问问题出现在哪里呢?还有第一题的“-”号怎么来处理?
      

  3.   

    无法输出 Department:english 
    因为她调用的是父类的 getDetails()方法
      

  4.   

    balance=balance - amt; //有问题 是你自己笔误了
    哇哈哈
      

  5.   

    1:的确是我大意,把amt写成了awt
    2:仍然有问题,希望大家给点意见
    class Employee
    {
    public String name;
    public double salary;
    // protected Date birthDate; 若此处定义了,怎么在后面的方法中实现输出生日
    //  在JDK文档中找不到 Date相关的方法来做,望指教
    Employee(){};
    Employee(String name,double salary)
    {
    this.name=name;
    this.salary=salary;
    }
    public String getDetails()
    {
    return "Name: "+name+ "\tSalary: "+salary;
    }
    }
    class Manager extends Employee
    {
    public String department;
    Manager(String name,double salary,String department)
    {
    this.name=name;
    this.salary=salary;
    this.department=department;
    }
    public String getDetails(String name,double salary,String department)
    {
    super.getDetails();
    return "Department:"+department; //这条语句为什么没有执行呢?
    }
    }
    public class TestEmployeeManager
    {
    public static void main(String args[])
    {
    Manager a=new Manager("zsh",1000.0,"english");
    System.out.println(a.getDetails());
    }
    }
      

  6.   

    那句为什么要执行呢?怎么我没有看到public String getDetails(String name,double salary,String department)这个function被调用的地方?LZ代码贴全了?System.out.println(a.getDetails());这个只是调用public String getDetails()而已吧...
      

  7.   

    你调用的是父类的方法,要想调用子类的方法,注意你子类此方法是有参数的。
    加上参数即可
    class Employee
    {
    public String name;
    public double salary;
    Employee(){};
    Employee(String n,double s)
    {
    name=n;
    salary=s;
    }
    public String getDetails()
    {
    return "Name:"+name+ "Salary:"+salary;}}
    class Manager extends Employee
    {
    public String department;
    Manager(String n,double s,String d)
    {
    name=n;salary=s;
    department=d;
    }
    public String getDetails(String n,double s,String d)
    {
    System.out.println(super.getDetails());
    return "Department:"+department;
    }
    }
    public class TestEmployeeManager
    {
    public static void main(String args[])
    {
    Manager a=new Manager("zsh",1000.0,"english");
    System.out.println(a.getDetails("zsh",1000.0,"english"));
    }
    }
      

  8.   

    哦,知道了,应该合并一下 Manager中的getDetails方法中的语句:如下
    return super.getDetails()+"\nDepartment:"+department;其次,我发现如果用了Date 这个类之后,怎么来初始化,输出日期等等,
    import java.util.Date;
    class Employee
    {
    protected String name;
    protected double salary; 
             protected Date birthDate; //按题目要求是要输出日期 的 Employee(){};
    Employee(String name,double salary)
    {
    this.name=name;
    this.salary=salary;
    Date birthDate=new Date(1980,1,1); //在次创建对象,以后该如何做呢
     
    }

    public String getDetails()
    {
    return "Name:"+name+ "\nSalary:"+salary+"\nBirthDate:"+birthDate.getTime();
                                                   //此处想输出日期,办不到,程序出错
    }
    }
    class Manager extends Employee
    {
    public String department;
    Manager(String name,double salary,String department)
    {
    this.name=name;
    this.salary=salary;
    this.department=department;
    }
    public String getDetails()//次处方法覆盖,覆盖Employee类中的方法
    {

    return super.getDetails()+"\nDepartment:"+department;
    }
    }
    public class TestEmployeeManager
    {
    public static void main(String args[])
    {
    Manager a=new Manager("zsh",1000.0,"english");//如何来初始化日期呢
    System.out.println(a.getDetails());
    }
    }
      

  9.   

    欢迎大家告诉我如何使用Date类!!
      

  10.   

    Date birthDate=new Date(1980,1,1); 
    这个构造方法已经废除了,可以用这个Date birthDate=new Date();参数是毫秒,或者用calendar类 例如:
    import java.util.Date;
    class Employee
    {
    protected String name;
    protected double salary; 
            
    Date birthDate=new Date(244456);//按题目要求是要输出日期 的 Employee(){};
    Employee(String name,double salary)
    {
    this.name=name;
    this.salary=salary;
      //在次创建对象,以后该如何做呢
     
    }

    public String getDetails()
    {
    return "Name:"+name+ "\nSalary:"+salary+"\nBirthDate:"+birthDate.toString();
                                                   
    }
    }
    class Manager extends Employee
    {
    public String department;
    Manager(String name,double salary,String department)
    {
    this.name=name;
    this.salary=salary;
    this.department=department;
    }
    public String getDetails()
    {

    return super.getDetails()+"\nDepartment:"+department;
    }
    }
    public class TestEmployeeManager
    {
    public static void main(String args[])
    {
    Manager a=new Manager("zsh",1000.0,"english");
    System.out.println(a.getDetails());
    }
    }
      

  11.   

    Date birthDate=new Date(1980,1,1); 
    这个构造方法已经废除了,可以用这个Date birthDate=new Date();参数是毫秒,或者用calendar类的确,编译没问题,但是输出时错误;
    用Date看来无法完成这个小小的要求了,但是用calendar类 又如何做呢?我正在查资料,也欢迎大家给我点建议!
      

  12.   

    Calendar birthDate=Calendar.getInstence(1980,1,1); 
    然后读取的时候:
    get(Calendar.YEAR);
    get(Calendar.MONTH);
    get(Calendar.DAY_MONTH);
      

  13.   

    初始化的时候用
    Calendar birthDate=Calendar.getInstence(); 
    birthday.set(1980,1,1);
      

  14.   

    public void withdraw(double amt)
    {
    //balance=balance - awt; //有问题1个是amt,1个是awt........
      

  15.   

    程序仍然有错误,请大家指教import java.util.*;
    class Employee
    {
    protected String name;
    protected double salary;
    protected Date birthDate;
    Employee(){};
    Employee(String name,double salary,Date birthDate)
    {
    this.name=name;
    this.salary=salary;
    this.birthDate=birthDate;
    }

    public String getDetails()
    {
    return "Name:"+name+ "\nSalary:"+salary+"\nBirthDate:"+birthDate.toString();
    }
    }
    class Manager extends Employee
    {
    public String department;
    Manager(String name,double salary,String department,Date birthDate)
    {
    this.name=name;
    this.salary=salary;
    this.department=department;
    this.birthDate=birthDate;
    }
    public String getDetails()
    {

    return super.getDetails()+"\nDepartment:"+department;
    }
    }
    public class TestEmployeeManager
    {
    public static void main(String args[])
    {
    try
    {
    Manager a=new Manager("zsh",1000.0,"english",new Date(1984,1,23));
    System.out.println(a.getDetails());
    }catch(CloneNotSupportedException e){System.out.println("Throws Exception");} //此处无法捕获异常
    }
    }
      

  16.   

    import java.util.*;
    class Employee
    {
    protected String name;
    protected double salary;
    protected Date birthDate;
    Employee(){};
    Employee(String name,double salary,Date birthDate)
    {
    this.name=name;
    this.salary=salary;
    this.birthDate=birthDate;
    }

    public String getDetails()
    {
    return "Name:"+name+ "\nSalary:"+salary+"\nBirthDate:"+birthDate.toString();
    }
    }
    class Manager extends Employee
    {
    public String department;
    Manager(String name,double salary,String department,Date birthDate)
    {
    this.name=name;
    this.salary=salary;
    this.department=department;
    this.birthDate=birthDate;
    }
    public String getDetails()
    {

    return super.getDetails()+"\nDepartment:"+department;
    }
    }
    public class TestEmployeeManager
    {
    public static void main(String args[]) throws CloneNotSupportedException
    {
    // try
    {
    Manager a=new Manager("zsh",1000.0,"english",new Date(1984,1,23));
    System.out.println(a.getDetails());
    }
    // catch(CloneNotSupportedException e)
    // {System.out.println("Throws Exception");}
    }
    }
    已经调试成功!
    但是若改为 Calendar 类呢?
    马上要结帖了