站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2SE 专题几个小问题?希望大家能帮我改正一下

几个小问题?希望大家能帮我改正一下

摘要: 几个小问题?希望大家能帮我改正一下


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();
}
}
//程序代码调试无问题,但是输不出结果


我看你的代码好像没有要打出来东西的意思啊。。。


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());
}
}
你没输出语句


这个输出语句我加过,但是无法输出 Department:english 这一句出来?
请问问题出现在哪里呢?

还有第一题的“-”号怎么来处理?


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


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


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());
}
}


那句为什么要执行呢?怎么我没有看到

public String getDetails(String name,double salary,String department)

这个function被调用的地方?LZ代码贴全了?

System.out.println(a.getDetails());

这个只是调用

public String getDetails()

而已吧...


你调用的是父类的方法,要想调用子类的方法,注意你子类此方法是有参数的。
加上参数即可
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"));
}
}



哦,知道了,应该合并一下 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());
}
}


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


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());
}
}


Date birthDate=new Date(1980,1,1);
这个构造方法已经废除了,可以用这个Date birthDate=new Date();参数是毫秒,或者用calendar类

的确,编译没问题,但是输出时错误;
用Date看来无法完成这个小小的要求了,但是用calendar类 又如何做呢?

我正在查资料,也欢迎大家给我点建议!




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



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


public void withdraw(double amt)
{
//balance=balance - awt; //有问题

1个是amt,1个是awt........


程序仍然有错误,请大家指教

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");} //此处无法捕获异常
}
}


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 类呢?
马上要结帖了


↑返回目录
前一篇: java可不可以对没有存储文件的内存进行读写呢?
后一篇: java 中连接mysql的问题,老是提示驱动程序包不存在,高手帮下忙