题目
●试题七
阅读以下说明和Java代码,将解答写入答题纸的对应栏内。
【说明】
下面程序的功能是找出所有三位数中,个、十、百位数字的立方和等于该数本身的三位数并显示。在程序的每条横线处填写一个适当的词或语句,使程序的功能完整。
public (1) class cube_Root{
public static void (2) main(String args[]){
System.out.println("个、十、百位数字的立方和等于该数本身的三位数有:");
for(int n=100;n<1000;n++)
{
int a,b,c;
(3)
b=n/10%10;
(4)
if((5) )
System.out.println(n);
}
}
}
第1题
●试题七
阅读以下说明和Java代码,将解答写入答题纸的对应栏内。
【说明】
下面的程序的功能是利用实现Runnable接口的方法来创建线程,并利用它来执行响应的一些操作。最后使得m的执行结果:100,如图3。
注意:请勿改动main()主方法和其他已有的语句内容,仅在下划线处填入适当的语句。
class ClassName (1) Runnable{
int n;
(2) {
try{
Threa
D.sleep(2000);
n=100;
}catch((3) e){}
}
public static void main(String[]args){
try{
ClassName a=new ClassName();
(4)
thread1. (5) ();
thread1.join();
int m=A.n;
System.out.println("m="+m);
}catch((3) e){}
}
}
第2题
试题七(共 15 分)
阅读以下说明和 Java 代码,将应填入 (n) 处的字句写在答题纸的对应栏内。
[说明]
java.util 库中提供了 Vector 模板类,可作为动态数组使用,并可容纳任意数据类型。该类的部分方法说明如下表所示:
[Java 代码]
import (1) ;
public class JavaMain {
static private final int (2) = 6;
public static void main(String[] args){
Vector<Integer> theVector = new Vector< (3) >();
// 初始化 theVector,将 theVector的元素设置为 0 至 5
for (int cEachItem = 0; cEachItem < ARRAY_SIZE; cEachItem++)
theVector.add((4) );
showVector(theVector); // 依次输出 theVector中的元素
theVector.removeElementAt(3);
showVector(theVector);
}
public static void showVector(Vector<Integer> theVector){
if (theVector.isEmpty()) {
System.out.println("theVector is empty.");
return;
}
for (int loop = 0; loop < theVector.size(); loop++) {
System.out.print(theVector.get(loop));
System.out.print(", ");
}
System.out.println();
}
}
该程序运行后的输出结果为:
0, 1, 2, 3, 4, 5
(5)
第3题
试题七(共 15 分)
阅读下列说明、图和Java 代码,回答问题1 至问题3,将解答写在答题纸的对应栏内。
[说明]
已知四个类之间的关系如图 7-1 所示,分别对每个类的方法进行编号,例如 Shape的 perimeter()为 1 号,表示为“1:perimeter()” ,Rectangle 类的 perimeter()为 2 号,表示为“2:perimeter()” ,依此类推,其中,每个类的 perimeter方法签名相同。
[Java 代码]
Triangle tr = new Triangle();
Square sq = new Square();
Shape sh = tr;
[问题 1] 关于上述 Java代码中 sh 和 tr 的以下叙述中,哪两个是正确的(写出编号) 。
① sh 和 tr 分别引用同一个对象;
② sh 和 tr 分别引用同一类型的不同的对象;
③ sh 和 tr 分别引用不同类型的不同对象;
④ sh 和 tr 分别引用同一个对象的不同拷贝;
⑤ sh 和 tr 所引用的内存空间是相同的。
[问题 2] 写出下面消息对应的方法编号(如果该消息错误或者没有对应的方法调用,请
填写“无” ) 。
tr.height() (1)
sh.perimeter() (2)
sq.height() (3)
sq.perimeter() (4)
sh.height() (5)
tr.perimeter() (6)
[问题 3] 下列赋值语句中哪两个是合法的(写出合法赋值语句的编号) 。
① sq = sh; ② sh = tr; ③ tr = sq; ④ sq = tr; ⑤ sh = sq;
第4题
●试题六
阅读以下说明和Java代码,将解答写入答题纸的对应栏内。【说明】
下面程序的功能是显示已定义的一个3行3列的二维数组每行的元素,并求所有元素的和并输出。请在程序的每条横线处填写一个适当的语句,使程序的功能完整。
public class Array{
(1) static (2) main(String args[])
{
int sum=0;
int b[][]={{11,12,13},{21,22,23},{31,32,33}};
for(int i=0; (3) i++)
{
System.out.print("b["+i+"]: ");
for(int j=0; (4) j++)
{
System.out.print(b[i][j]+" ");
(5)
}
System.out.println();
}
System.out.println("sum="+sum);
}
}
第5题
试题七(共 15 分)
阅读下列说明和 Java 代码,将应填入 (n) 处的字句写在答题纸的对应栏内。
【说明】
已知某企业的采购审批是分级进行的,即根据采购金额的不同由不同层次的主管人员来审批,主任可以审批 5 万元以下(不包括 5 万元)的采购单,副董事长可以审批 5 万元至 10 万元(不包括 10 万元)的采购单,董事长可以审批 10 万元至 50 万元(不包括 50万元)的采购单,50 万元及以上的采购单就需要开会讨论决定。 采用责任链设计模式(Chain of Responsibility)对上述过程进行设计后得到的类图如图 7-1 所示
[Java 代码]
class PurchaseRequest {
public double Amount; // 一个采购的金额
public int Number; // 采购单编号
public String Purpose; // 采购目的
};
class Approver { // 审批者类
public Approver(){ successor = null; }
public void ProcessRequest(PurchaseRequest aRequest){
if (successor != null){ successor. (1) ; }
}
public void SetSuccessor(Approver aSuccesssor){ successor = aSuccesssor; }
private (2) successor;
};
class Congress extends Approver {
public void ProcessRequest(PurchaseRequest aRequest){
if(aRequest.Amount >= 500000){ /* 决定是否审批的代码省略 */ }
else (3) .ProcessRequest(aRequest);
}
};
class Director extends Approver {
public void ProcessRequest(PurchaseRequest aRequest){ /* 此处代码省略 */ }
};
class President extends Approver {
public void ProcessRequest(PurchaseRequest aRequest){ /* 此处代码省略 */ }
};
class VicePresident extends Approver {
public void ProcessRequest(PurchaseRequest aRequest){ /* 此处代码省略 */ }
};
public class rs {
public static void main(String[] args) throws IOException {
Congress Meeting = new Congress();
VicePresident Sam = new VicePresident();
Director Larry = new Director();
President Tammy = new President();
// 构造责任链
Meeting.SetSuccessor(null); Sam.SetSuccessor((4) );
Tammy.SetSuccessor((5) ); Larry.SetSuccessor((6) );
// 构造一采购审批请求
PurchaseRequest aRequest = new PurchaseRequest();
BufferedReader br =
new BufferedReader(new InputStreamReader(System.in));
aRequest.Amount = Double.parseDouble(br.readLine());
(7) .ProcessRequest(aRequest); // 开始审批
return ;
}
}
第6题
●试题八
阅读以下说明和Java代码,将解答写入答题纸的对应栏内。
【说明】
下面的程序是从命令行输入3个数传递到public static void main(String args[])方法中(如 java IsTriangle 3 4 5),并判断这3个数能否构成三角形的3条边,并显示相应的结果。请在程序的每条横线处填入适当的语句,使程序的功能完整。
注意:请勿改动main()主方法和其他已有的语句内容,仅在横线处填入适当的语句。
public class IsTriangle{
public static void main(String args[]){
int a[]=new (1) [args. (2) ];
for(int i=0;i<3; (3) )
{
a[i]= (4)
}
if((5) )
System.out.println(a[0]+ ","+a[1]+ ","+a[2]"能构成三角形的3条边");
else
System.out.println(a[0]+ ","+a[1]+ ","+a[2] "不能构成三角形的3条边");
}
}
第7题
试题七(共 15 分)
阅读下列说明、图和Java代码,将应填入 (n) 处的字句写在答题纸的对应栏内。
[说明]
已知对某载客车辆(Car)进行类建模,如图 7-1所示,其中类 Engine 表示发动机引擎,类 Wheel 表示车轮,类 Body 表示车身,类 Driver 表示司机,类 Passenger 表示乘客。
[Java 代码]
class Body{ //此处代码省略 }; //车身类
class Passenger{ //此处代码省略 }; //乘客类
class Wheel{ //此处代码省略 }; //车轮类
class Driver{ //司机类
public String name; //表示第几路公交车司机
public Driver(String driverName){name = driverName;} //构造函数
};
class Engine{ //引擎类
public String engineNo; //引擎编号
public Engine(String engineNo){ this.engineNo = engineNo; } //构造函数
};
public class Car{ //汽车类
static final int (1) = 7; //定义最多载客数
static final int MAX_WHEELS = 5; //定义最多轮胎数
protected Engine engine;
protected Driver driver;
protected Body body = new Body();
protected Wheel[] wheels;
protected Passenger[] passengers;
public Car(Driver driver){ //构造函数
(2) .driver = driver;
engine = new Engine("TX6536 型号引擎");
wheels = new Wheel[MAX_WHEELS];
passengers = new Passenger[MAX_PASSENGERS];
for (int index = 0; index < MAX_WHEELS; index++){
wheels[index] = new Wheel();
}
for (int index = 0; index < MAX_PASSENGERS; index++){
passengers[index] = null;
}
}
int getPassengerNumber(){ //获取车上乘客数量
//此处代码省略
}
void getOnPassenger(Passenger aPassenger ){ //乘客上车
//此处代码省略
}
void run(){ //开车
if((3) ){ System.out.println("司机尚未上车!"); return;}
//此处代码省略
}
public static void main(String args[]){
Driver driver = new Driver("第五路公交车司机");
Car car = new Car((4) );
for (int index = 0 ; index < MAX_PASSENGERS; index ++)
car.getOnPassenger((5) Passenger());
car.run();
}
}
第8题
●试题六
阅读以下说明和Java代码,将解答写入答题纸的对应栏内。
【说明】
下面是一个Applet程序,其功能是输出已定义好的两个变量x和chr。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。
注意:不改动程序的结构,不得增行或删行。
import javA.awt.*;
(1) import javA.Applet;
(2) public class MyApplet implements Applet
{
int x=10;
(3) char chr="R";
Label output1;
Label output2;
(4) private void init()
{
output1=new Label("定义int类型变量"+"x,的初值为"+x);
output2=new Label("定义char类型变量"+"chr,的初值为"+chr);
add(output1);
add(output2);
}
}
<HTML>
<HEAD>
<TITLE>ex34_3</TITLE>
</HEAD>
<BODY>
(5) <applet class="MyApplet.class"
width=400 height=400 >
</applet>
</BODY>
</HTML>
第9题
●试题八
阅读以下说明和Java代码,将解答写入答题纸的对应栏内。
【说明】
下面的程序中定义了两个方法求自然数1~100的和。具体如下:int sum1(int n);利用循环求1~n的和,int sum2(int n);利用递归方法求和1~n的和;在main()方法中调用这两个方法求1~100的和并显示。在程序的每条横线处填写一个适当的语句,使程序的功能完整。
public class Sum{
public static void main (1)
{
//1.调用sum1(int n),求1~100的和
//标准输出
(2) ("1~100的和:"+sum1(100));
//2.调用sum2(int n),求1~100的和
//标准输出
(2) ("1~100的和:"+sum2(100));
}
static int sum1(int n)
{
int result=0;
for(int i=1;i<=n;i++)
(3)
retrun result;
}
static int sum2(int n)
{
if (4)
return 1;
else
(5)
}
}
第10题
●试题六
阅读以下说明和Java代码,将解答写入答题纸的对应栏内。
【说明】
请完成下列Java程序。程序的执行结果是生成一个具有一个TextField类型的对象in、Button类型的对象btn和Label类型的对象out图形用户界面,程序的功能是计算用户输入数的平方,如图3所示。
注意:请勿改动main()主方法和其他已有的语句内容,仅在下划线处填入适当的语句。
【程序】
import javA.awt.*;
import javA.awt.event.*;
public class square {
public static void main(String args[]){
(1)
}
}
class AppFrame. extends Frame{
TheAdapterTest listener=new TheAdapterTest();
TextField in=new TextField (5) ;
Button btn=new Button("计算");
Label ut=new Label("用于显示计算结果");
public AppFrame()
{
setLayout(new FlowLayout());
add(in);
add(btn);
add(out);
btn.addActionListener(new BtnActionAdapter());
addWindowListener(listener);
setSize(400,100);
show();
}
class BtnActionAdapter implements (2) {
public void actionPerformed((3) ){
String s=in.getText();
double d= (4)
double sq=d*d;
out.setText(d+"的平方是:"+sq);
}
}
class TheAdapterTest extends WindowAdapter
{
public void windowClosing((5) )
{
System.exit (1) ;
}
}
}
为了保护您的账号安全,请在“赏学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!