JavaSE笔试题一套带答案(5)

匿名网友 匿名网友 发布于: 2015-08-30 00:00:00
阅读 111 收藏 0 点赞 0 评论 0

三.编程题(35分)
1.设计一个线程,使得字符串”大连是一个美丽的海滨城市” 每隔1秒钟输出一个字符。
运行结果如下:(多行输出)
大连
大连是
……
大连是一个美丽的海滨城市
参考答案:
class WordDisplay extends Thread{
private String text=”大连是一个美丽的海滨城市”;
public void run(){
for(int i=1;i<=text.length();i++){
try{
System.out.println(text.substring(0,i));
sleep(1000);//休眠1s
}
catch(InterruptedException e){
e.print
}
}
}
}
class WordDisplay implements Runnable{
private String text=”大连是一个美丽的海滨城市”;
public void run(){
for(int i=1;i<=text.length();i++){
try{
System.out.println(text.substring(0,i));
sleep(1000);//休眠1s
}
catch(InterruptedException e){
}
}
}
}
2.编写BankAccount类,要求如下:
A. 该类由此款人姓名(String  name ),存款余额(double  balance),存期(int year)及年利
率(double  rate)四个数据成员,其中年利率的默认值为0.03.
B. 该类有两个重载的构造方法.其中一个构造方法不含参数,设置默认的存款为
10元,存期一年;另一个构造函数包含二个用于创建对象时设置存款额与存期
的参数。
C. 该类有三个方法:存款(save),取款(fetch)及计算存期满后的总金额(calcTotal).
D. 创建一个账号fans,创建时即(利用构造函数)存入1000元,存期3年,后又存入
2000元(利用save方法),计算存期满后的总金额(利用calcTotal方法)
参考答案:
public class BankAccount {
private String  name;//姓名(账号)
private double  balance;//存款余额
private int year;//存期
private double rate=0.03;//年利率
//构造方法
public BankAccount(String  name){
this(name,10.0,1);//默认存款10元,存期1年
}
// 构造方法
public BankAccount(String  name,double deposit,int year){
this.name=name;
this.balance=deposit;
this.year=year;
}
//存款
public void save(double deposit){
this.balance+=deposit;
}
//取款
public double fetch(double reduce) throws Exception{
if(this.balance>=reduce){
this.balance-=reduce;//余额
return reduce;
}
else{
throw new Exception(“不能透支!”);
}
}
//存期满后的总金额
public double calcTotal(){
double total=balance;
for(int i=1;i<=year;i++){
total=total*(1+rate);
}
return total;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
//测试用
BankAccount fans=new BankAccount(“fans”,1000,1);
fans.save(2000);
double totalMoney=fans.calcTotal();
System.out.println(“totalMoney==>”+totalMoney);
}
}

三.编程题(35分)

1.设计一个线程,使得字符串”大连是一个美丽的海滨城市” 每隔1秒钟输出一个字符。

运行结果如下:(多行输出)

大连

大连是

……

大连是一个美丽的海滨城市

参考答案:

class WordDisplay extends Thread{

private String text=”大连是一个美丽的海滨城市”;

public void run(){

for(int i=1;i<=text.length();i++){

try{

System.out.println(text.substring(0,i));

sleep(1000);//休眠1s

}

catch(InterruptedException e){

e.print

}

}

}

}

class WordDisplay implements Runnable{

private String text=”大连是一个美丽的海滨城市”;

public void run(){

for(int i=1;i<=text.length();i++){

try{

System.out.println(text.substring(0,i));

sleep(1000);//休眠1s

}

catch(InterruptedException e){

}

}

}

}

2.编写BankAccount类,要求如下:

A. 该类由此款人姓名(String  name ),存款余额(double  balance),存期(int year)及年利

率(double  rate)四个数据成员,其中年利率的默认值为0.03.

B. 该类有两个重载的构造方法.其中一个构造方法不含参数,设置默认的存款为

10元,存期一年;另一个构造函数包含二个用于创建对象时设置存款额与存期

的参数。

C. 该类有三个方法:存款(save),取款(fetch)及计算存期满后的总金额(calcTotal).

D. 创建一个账号fans,创建时即(利用构造函数)存入1000元,存期3年,后又存入

2000元(利用save方法),计算存期满后的总金额(利用calcTotal方法)

参考答案:

public class BankAccount {

private String  name;//姓名(账号)

private double  balance;//存款余额

private int year;//存期

private double rate=0.03;//年利率

//构造方法

public BankAccount(String  name){

this(name,10.0,1);//默认存款10元,存期1年

}

// 构造方法

public BankAccount(String  name,double deposit,int year){

this.name=name;

this.balance=deposit;

this.year=year;

}

//存款

public void save(double deposit){

this.balance+=deposit;

}

//取款

public double fetch(double reduce) throws Exception{

if(this.balance>=reduce){

this.balance-=reduce;//余额

return reduce;

}

else{

throw new Exception(“不能透支!”);

}

}

//存期满后的总金额

public double calcTotal(){

double total=balance;

for(int i=1;i<=year;i++){

total=total*(1+rate);

}

return total;

}

public static void main(String[] args) {

// TODO Auto-generated method stub

//测试用

BankAccount fans=new BankAccount(“fans”,1000,1);

fans.save(2000);

double totalMoney=fans.calcTotal();

System.out.println(“totalMoney==>”+totalMoney);

}

}

评论列表
文章目录