1.编写程序,定义一个类Ch3Demo1:利用方法的重载,完成以下方法。
(1)第一个方法是public int max(int x,int y),用于计算两个整数的最大值。
(2)第二个方法是public double max(double x,double y),用于计算两个double型数据的最大值。
(3)第三个方法是public double max(int x,double y),用于计算一个整数和一个double型数据的最大值。
(4)第四个方法是public double max(int x,int y,int z ),用于计算三个整数的最大值。
编写测试方法(main)分别去调用一个对象的这些方法来完成测试。
public int max(int x, int y) {
return x>y?x:y;
}
public double max(double x, double y) {
return x>y?x:y;
}
public double max(int x, double y) {
return x>y?x:y;
}
public double max(double x, int y) {
return x>y?x:y;
}
public double max(int x, int y, int z) {
int m;
if (x > y) {
m = x;
} else {
m = y;
}
if (m < z) {
m = z;
}
return m;
}
public static void main(String[] args) {
Ch3Demo1 c1 = new Ch3Demo1();
double b = c1.max(8, 9, 6);
// int b=max(8,9);
System.out.println(b);
}
}
2. 设计一个矩形类Ch3Demo2,这个类包括:
(1)两个名为width和height的double型数据域,它们分别表示矩形的宽和高。width和height的默认值都为1;
(2)创建一个默认矩形的无参构造方法;
(3)一个创建width和height为指定值的矩形的构造方法;
(4)一个名为getArea()的方法返回这个矩形的面积;
(5)一个名为getPerimeter()的方法返回周长。
public class Ch3Demo2 {
private double width = 1;
private double height = 1;
}
public Ch3Demo2(double x, double y) {
width = x;
height = y;
}
public double getArea() {
return width * height;
}
public double getPerimeter() {
return 2 * (width + height);
}
}
3.设计一个股票类Ch3Demo3,这个类包括:
(1)一个名为symbol的字符串数据域表示股票代码;
(2)一个名为name的字符串数据域表示股票的名字;
(3)一个名为previousClosingPrice的double型数据域,它存储的是前一日的股票值;
(4)一个名为currentPrice的double型数据域,它存储的是当时的股票值。
(5)一个名为getChangePercent()的方法,返回从previousClosingPrice到currentPrice的变化的百分比。
public class Ch3Demo3 {
private String symbol;
private String name;
private double previousClosingPrice;
private double currentPrice;
public Ch3Demo3() {
}
public Ch3Demo3(String symbol, String name, double previousClosingPrice, double currentPrice) {
super();
this.symbol = symbol;
this.name = name;
this.previousClosingPrice = previousClosingPrice;
this.currentPrice = currentPrice;
}
public String getSymbol() {
return symbol;
}
public void setSymbol(String symbol) {
this.symbol = symbol;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getPreviousClosingPrice() {
return previousClosingPrice;
}
public void setPreviousClosingPrice(double previousClosingPrice) {
this.previousClosingPrice = previousClosingPrice;
}
public double getCurrentPrice() {
return currentPrice;
}
public void setCurrentPrice(double currentPrice) {
this.currentPrice = currentPrice;
}
public double getChangePercent() {
return (currentPrice - previousClosingPrice) / previousClosingPrice;
}
public static void main(String[] args) {
Ch3Demo3 g1 = new Ch3Demo3("1101", "闃块噷宸村反", 271.00, 277.96);
System.out.println(g1.getChangePercent() * 100 + "%");
}
}
4.设计一个秒表Ch3Demo4的类,该类包含:
(1)具有访问器方法的私有数据域startTime和endTime;
(2)一个无参构造方法,使用当前时间来初始化startTime;
(3)一个名为start()方法,将startTime重设为当前时间;
(4)一个名为Stop()方法,将entTime设置为当前时间;
(5)一个名为getElapsedTime()的方法,以毫秒为单位返回秒表记录的流逝时间。
public class Ch3Demo4 {
private long startTime;
private long endTime;
public Ch3Demo4() {
startTime = System.currentTimeMillis();
}
public long getStartTime() {
return startTime;
}
public long getEndTime() {
return endTime;
}
public void start(){
startTime = System.currentTimeMillis();
}
public void stop(){
endTime=System.currentTimeMillis();
}
public long getElapsedTime(){
return endTime-startTime;
}
public static void main(String[] args) {
Ch3Demo4 c1=new Ch3Demo4();
c1.start();
int sum=0;
for(int i=0;i<1000000000;i++){
sum=sum+i;
}
c1.stop();
System.out.println(c1.getElapsedTime());
}
}
5.设计一个类Ch3Demo5,它包括:
(1)一个名为id的int类型私有数据域,默认值0;
(2)一个名为balance的double类型私有数据域,默认值0;
(3)一个名为annualInterestRate的double类型私有数据域存储当前利率,默认值0。假设所有的帐户都有相同的利率。
(4)一个名为dateCreated的Date类型的私有数据域,存储账户的开户日期;
(5)一个用于创建默认帐户的无参构造方法;
(6)一个用于创建带特定id和初始余额的帐户的构造方法;
public class Ch3Demo5 {
private int id = 0;
private double balance = 0;
private double annualInterestRate = 0;
private Date dateCreated;
public Ch3Demo5() {
dateCreated = new Date();
}
public Ch3Demo5(int id, double balance) {
this.id = id;
this.balance = balance;
dateCreated = new Date();
}
//
// id
public int getId() {
return id;
}
// id
public void setId(int id) {
this.id = id;
}
// balance
public double getBalance() {
return balance;
}
// balance
public void setBalance(double balance) {
this.balance = balance;
}
// annualInterestRate
public double getAnnualInterestRate() {
return annualInterestRate;
}
// annualInterestRate
public void setAnnualInterestRate(double annualInterestRate) {
this.annualInterestRate = annualInterestRate;
}
// dateCreated
public Date getDateCreated() {
return dateCreated;
}
public double getMonthlyInterestRate() {
return annualInterestRate / 12;
}
public void withDraw(double money) {
if (balance >= money) {
balance -= money;
} else {
System.out.println("初始余额");
}
}
//
public void deposit(double money) {
balance += money;
}
public static void main(String[] args) {
Ch3Demo5 c = new Ch3Demo5(1122, 20000);
c.setAnnualInterestRate(0.045);
System.out.println("利率" + c.getBalance());
c.withDraw(3000);
c.deposit(2500);
System.out.println("初始利率" + c.getBalance());
System.out.println("总钱" + c.getAnnualInterestRate());
System.out.println("得到的钱" + c.getDateCreated());
}
}