阅读以下说明和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( );
Text Field 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 windowCIosing((5))
{
System. exit(1)
}
}
}
第1题:
第2题:
第3题:
●试题六
阅读以下说明和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) ;
}
}
}
●试题六
【答案】 (1)new AppFrame()
(2)ActionListener
(3)ActionEvent
(4)Integer.parseInt(s);或等价形式
(5)WindowEvent
【解析】生成类AppFrame的对象。实现接口ActionListener。按钮动作事件类名。将字符串s转化为整数并赋给变量d。窗口事件类名 。
第4题:
阅读以下说明和Java程序,填补代码中的空缺(1)~(6),将解答填入答题纸的
对应栏内。
【说明】
很多依托扑克牌进行的游戏都要先洗牌。下面的Java代码运行时先生成一副扑克
牌,洗牌后再按顺序打印每张牌的点数和花色。
【Java代码】
第5题:
阅读以下说明和JAVA 2代码,将应填入(n)处的字句写在对应栏内。
[说明]
以下程序为类类型的变量应用实例,通过异常处理检验了类CCircle的变量的合法性,即参数半径应为非负值。仔细阅读代码和相关注释,将程序补充完整。
[JAVA代码]
//定义自己的异常类
class CCircleException extends Exception
{
}
// 定义类 CCircle
class CCircle
{
private double radius;
public void setRadius ( double r ) (1)
{
if ( r<0 ) {
(2)
}
else
(3)
}
Public void show ( ) {
System. out. println ( "area="+3.14*radius*radius );
}
}
public class ciusample
{
public static void main ( String args[] )
{
CCircle cir=new CCircle( );
(4) {
cir. setRadius ( -2.0 )
}
(5)
{
System. out. println ( e+" throwed" ) ;
}
cir. show( ) ;
}
}
第6题:
阅读下列说明、图和Java代码,回答问题1至问题3。
【说明】
已知四个类之间的关系如图2-4所示,分别对每个类的方法进行编号,例如Shape的perimeter()为1号,表示为1:perimeter(),Rectangle类的perimeter()为2号,表示为 2:perimeter(),依此类推,其中,每个类的perimeter方法签名相同。
【Java代码】
Triangle tr=new Triangle();
Square sq=new Square();
Shape sh=tr;
关于上述Java代码中sh和tr的以下叙述中,哪两个是正确的(写出编号)。
①sh和tr分别引用同一个对象;
②sh和tr分别引用同一类型的不同的对象:
③sh和tr分别引用不同类型的不同对象:
④sh和tr分别引用同一个对象的不同拷贝;
⑤sh和tr所引用的内存空间是相同的。
第7题:
阅读以下技术说明及Java代码,将Java程序中(1)~(5)空缺处的语句填写完整。
[说明]
在一公文处理系统中,开发者定义了一个公文类OfficeDoc,其中定义了公文具有的属性和处理公文的相应方法。当公文件的内容或状态发生变化时,关注此OfficeDoc类对象的相应的DocExplorer对象都要更新其自身的状态。一个OfficeDoc对象能够关联一组DocExplorer对象。当OfficeDoc对象的内容或状态发生变化时,所有与之相关联的DocExplorer对象都将得到通知,这种应用被称为Observer(观察者)模式。以下代码采用Java语言实现,能够正确编译通过。
[Java代码]
第8题:
阅读以下说明和Java代码,将解答写入对应栏内。
【说明】
下面程序的功能是显示已定义的一个3行3列的二维数组每行的元素,并求所有元素的和并输出。请在程序的每条横线处填写一个适当的语句,使程序的功能完整。
public class Arrayt
(1) static (2) main(String args[])
{
int sum=0;
int [][] = t {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);
}
}
第9题:
●试题六
阅读以下说明和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);
}
}
●试题六
【答案】 (1)public(2)void(3)i<3;或等价形式(4)j<3;或等价形式(5)sum+=b[i][j]; 或等价形式
【解析】此处为Java主函数的修饰符,是固定写法。Java主函数不需要返回值,这也是固定写法。数组共有3行,所以循环3次。数组共有3列,所以循环3次。将b[i][j]累加到sum中。