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;

}