java程序设计(第二版)课后习题答案
- 格式:doc
- 大小:997.00 KB
- 文档页数:282
//习题2.2
import java.util.*;
class MyDate{
private int year;
private int month;
private int day;
public MyDate(int y,int m,int d){//构造函数,构造方法
year=y;
month=m;
day=d;
}//end public MyDate(int y,int m,int d)
public int getYear(){//返回年
return year;
}//end getYear()
public int getMonth(){//返回月
return month;
}//end getMonth()
public int getDay(){//返回日
return day;
}//end getDay()
}//end class MyDate
class Employee{
private String name;
private double salary;
private MyDate hireDay;
public Employee(String n,double s,MyDate d){
name=n;
salary=s;
hireDay=d;
}//end public Employee(String n,double s,MyDate d)
public void print(){
System.out.println("名字:"+name+"\n工资:"+salary+"\n雇佣年份:"+hireYear()+"\n");
}//end print()
public void raiseSalary(double byPercent){
salary*=1+byPercent/100;
}//end
public int hireYear(){
return hireDay.getYear();
}
}//end class Employee
public class MyTestClass {
public static void main(String[] args) {
Employee[]staff=new Employee[3];
staff[0]=new Employee("Harry Hacker",35000,new MyDate(1989,10,1)); - 2 - staff[1]=new Employee("Carl Carcker",75000,new MyDate(1987,12,15));
staff[2]=new Employee("Tony Tester",38000,new MyDate(1990,3,12));
int integerValue;
System.out.println("The information of employee are:");
for(integerValue=0;integerValue<=2;integerValue++){
staff[integerValue].raiseSalary(5);
}//end for()
for(integerValue=0;integerValue<=2;integerValue++){
staff[integerValue].print();
}//end for()
}//end main()
}//end class MyTestClass
//习题2.4
import java.util.*;
public class DataType {
public static void main(String[] args) {
boolean flag;
char yesChar;
byte finByte;
int intValue;
long longValue;
short shortValue;
float floatValue;
double doubleValue;
flag=true;
yesChar='y';
finByte=30;
intValue=-7000;
longValue=200l;
shortValue=20000;
floatValue=9.997E-5f;
doubleValue=floatValue*floatValue;
System.out.println("the values are:");
System.out.println("布尔类型变量flag="+flag);
System.out.println("字符型变量yesChar="+yesChar);
System.out.println("字节型变量finByte="+finByte);
System.out.println("整型变量intValue="+intValue);
System.out.println("长整型变量longValue="+longValue);
System.out.println("短整型变量shortValue="+shortValue);
System.out.println("浮点型变量floatValue="+floatValue);
System.out.println("双精度浮点型变量doubleValue="+doubleValue); }//end main()
}
//习题2.9
import java.util.*;
class PubTest1{
private int ivar1;
private float fvar1,fvar2;
public PubTest1(){
fvar2=0.0f;
}
public float sum_f_I(){
fvar2=fvar1+ivar1;
return fvar2;
}
public void print(){
System.out.println("fvar2="+fvar2);
}
public void setIvar1(int ivalue){
ivar1=ivalue;
}
public void setFvar1(float ivalue){
fvar1=ivalue;
}
}
public class PubMainTest {
public static void main(String[] args) {
PubTest1 pubt1=new PubTest1();
pubt1.setIvar1(10);
pubt1.setFvar1(100.02f);
pubt1.sum_f_I();
pubt1.print();
}
}
//习题2.10
import java.util.*;
class Date {
private int year;
private int month;
private int day;
public Date(int day, int month, int year) { //构造函数,构造方法
this.year = year;
this.month = month;
this.day = day;
} //end public MyDate(int y,int m,int d) - 4 - public int getYear() { //返回年
return year;
} //end getYear()
public int getMonth() { //返回月
return month;
} //end getMonth()
public int getDay() { //返回日
return day;
} //end getDay()
} //end class Date
public class Teacher {
String name;//教师名字
boolean sex;//性别,true表示男性
Date birth;//出生日期
String salaryID;//工资号
String depart;//教师所在系所
String posit;//教师职称
String getName() {
return name;
}
void setName(String name) {
= name;
}
boolean getSex() {
return sex;
}
void setSex(boolean sex) {
this.sex = sex;
}
Date getBirth() {
return birth;
}
void setBirth(Date birth) {
this.birth = birth;
}
String getSalaryID() {
return salaryID;
}
void setSalaryID(String salaryID) {
this.salaryID = salaryID;
}
String getDepart() {
return depart;
}