15.4同步训练
【练习15-1】阅读以下说明和Java程序代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
代码1:为一个类的定义,将程序补充完整。
代码2:是Java小应用程序实现的功能是从文本域中输入你的名字"***",回车后在Applet中显示"***,你好!".将程序补充完整。
【Java代码】
代码1:
import java.awt.*;
import java.applet.*;
public class myprogram extends __(1)__{
Label p1;
TextField in;
public void init(){
p1=new Label("请输入一个整数");
__(2)__;
in=new TextField(8);
add(in);
}
}
代码2:
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
public class Applet1 extends Applet implements ActionListener{
Label aa;
TextField t1;
String s="";
public void init(){
aa=new Label("请输入你的名字:");
add(aa);
t1=__(3)__;
add(t1);
t1.addActionListener(this);
}
public void paint(Graphics g){g.drawString(s,20,100);}
public void actionPerformed(ActionEvent e){
s=__(4)__;
__(5)__;
}
}
【练习15-2】阅读以下说明和Java程序代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
以下为一个java的完整程序,它定义了一个类Car,并在程序中创建了一个该类的对象DemoCar,调用该对象的set_number方法设置车号属性为3388,调用该对象的show_number方法输出车号。
【Java代码】
//Car.java
class Car{
int car_number;
void set_number(int car_num){car_number=__(1)__;}
void show_number(){System.out.__(2)__("My car No.is:"+car_number);}
}
/
/CarDemo.java
class CarDemo{
public static void main(String args[]){
Car Democar=__(3)__ Car();
DemoCar.set_number(__(4)__);
DemoCar.__(5)__();
}
}
【练习15-3】阅读以下说明和Java程序代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
该程序是一个Applet小程序,它将当前系统时间显示在浏览器中。Java源程序和网页代码如下。
【Java代码】
import java.awt.*;
import java.util.Date;
public class showDate extends __(1)__{
Date timeNow=__(2)__ Date();
Font msgFont=new Font("TimesRoman",Font.ITALIC,30);
public void paint(__(3)__g){
g.__(4)__(msgFont);
g.setColor(Color.blue);
g.drawString(timeNow.toString(),5,50);
}
}
【练习15-4】阅读以下说明和Java程序代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
在下面的Java程序代码中,类SalesTicket能够完成打印票据正文的功能,类HeaDecorator与FootDecorator分别完成打印票据的台头和脚注的功能。
已知该程序运行后的输出结果如下所示,请填补该程序代码中的空缺。
这是票据的台头
这是票据的正文
------------------------
这是票据的正文
这是票据的脚注!
【Java程序代码】
public class SalesTicket{
public void printTicket(){
System.out.println("这是票据的正文");
}
public static void main(String[]args){
SalesTicket T=new HeadDecorator(__(1)__);
T.__(2)__;
System.out.println("------------------------");
T=new FootDecorator(__(3)__);
T.printTicket();
}
}
class Decorator extends SalesTicket{
SalesTicket ticket;
public Decorator(SalesTicket t){
ticket=t;
}
public void printTicket(){
if(ticket!=null)
ticket.printTicket();
}
}
class HeadDecorator extends Decorator{
public HeadDecorator(SalesTicket t){
__(4)__;
}
public void printTicket(){
System.out.println("这是票据的台头");
super.printTicket();
}
}
class FootDecorator extends Decorator{
public FootDecorator(SalesTicket t){
__(5)__;
}
public void printTicket(){
super.printTicket();
System.out.println("这是票据的脚注!");
}
}
【练习15-5】阅读以下说明和Java源程序,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
以下程序的功能是计算三角形、矩形和正方形的面积并输出。
程序由5个类组成:AreaTest是主类,类Triangle、Rectangle和Square分别表示三角形、矩形和正方形,抽象类Figure提供了一个计算面积的抽象方法。
【程序】
public class AreaTest{
public static void main(String args[]){
Figure[]figures={new Triangle(2,3,3),new Rectangle(5,8),new Square(5)
for(int i=0;i<figures.length;i++){
System.out.println(figures+"area="+figures.getArea());
}
}
}
public abstract class Figure{
public abstract double getArea();
}
public class Rectangle extends __(1)__{
double height;
double width;
public Rectangle(double height,double width){
this.height=height;
this.width=width;
}
public double getArea(){return __(2)__;}
}
public class Square extends Figure{
double width;
public Square(double width){__(3)__;}
public double __(4)__{return width*width;}
}
public class Triangle extends __(5)__{
double la;
double lb;
double lc;
public Triangle(double la,double lb,double lc){
this.la=la;this.lb=lb;this.lc=lc;
}
public double getArea(){
double s=(la+lb+lc)/2.0;
return Math.sqrt(s*(s-la)*(s-lb)*(s-lc));
}
}