Java语言程序设计试题答案.docx

上传人:b****1 文档编号:14630733 上传时间:2023-06-25 格式:DOCX 页数:16 大小:64.01KB
下载 相关 举报
Java语言程序设计试题答案.docx_第1页
第1页 / 共16页
Java语言程序设计试题答案.docx_第2页
第2页 / 共16页
Java语言程序设计试题答案.docx_第3页
第3页 / 共16页
Java语言程序设计试题答案.docx_第4页
第4页 / 共16页
Java语言程序设计试题答案.docx_第5页
第5页 / 共16页
Java语言程序设计试题答案.docx_第6页
第6页 / 共16页
Java语言程序设计试题答案.docx_第7页
第7页 / 共16页
Java语言程序设计试题答案.docx_第8页
第8页 / 共16页
Java语言程序设计试题答案.docx_第9页
第9页 / 共16页
Java语言程序设计试题答案.docx_第10页
第10页 / 共16页
Java语言程序设计试题答案.docx_第11页
第11页 / 共16页
Java语言程序设计试题答案.docx_第12页
第12页 / 共16页
Java语言程序设计试题答案.docx_第13页
第13页 / 共16页
Java语言程序设计试题答案.docx_第14页
第14页 / 共16页
Java语言程序设计试题答案.docx_第15页
第15页 / 共16页
Java语言程序设计试题答案.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

Java语言程序设计试题答案.docx

《Java语言程序设计试题答案.docx》由会员分享,可在线阅读,更多相关《Java语言程序设计试题答案.docx(16页珍藏版)》请在冰点文库上搜索。

Java语言程序设计试题答案.docx

Java语言程序设计试题答案

全国20XX年10月高等教育自学考试

一、单项选择题(本大题共10小题,每小题1分,共10分)

1.在Java语言中,用于标记回车符的转义字符是(C)P9

A.\bB./b

C.\nD./n

2.设有定义inti=6;,则执行语句“i+=i-1;’’后,i的值为(B)P14

A.10B.11

C.12D.13

3.以下关于抽象类及抽象方法的说法中,不正确的是(B)P54

A.抽象方法只能出现在抽象类中B.抽象类必须有抽象方法

C.有抽象方法的类一定是抽象类D.抽象方法没有实现的代码

4.执行下列程序语句后,b的值是(A)P75

Stringa=〃Hello〃;

Stringb=a.substring(1,3);

A.elB.He

C.ellD.Hel

5.能够直接添加组件的Swing容器是(D)

A.JFrameB.JDialog

C.JWindowDJPanel

6.用于判定鼠标右键操作的常量是(C)

A.BUTTON1_MASKB.BUTTON2_MASK

C.BUTTON3_MASKD.BUTTON4_MASK

7.设置异或绘图模式的方法是(A)

A.setXORMode()B.setPaintMode()

C.XORMode()D.PaintMode()

8.用来定义临界段,能对共享对象的操作上锁的关键字是(D)

A.staticB.share

C.serializeD.synchronized

9.如果一次从文件中读出一行数据,可使用的方法是(B)

A.FileReader的readLine()方法B.BufferedReader的readLine()方法

C.FileReader的read()方法D.BufferedReader的read()方法

10.获取InetAddress对象的IP地址所用到的方法是(C)

A.getHostlPAddress()B.getHostlP()

C.getHostAddress()D.getHost()

二、填空题(本大题共10小题,每空2分,共20分)

11.在Java语言中,双精度型变量在内存中占___8___个字节。

12.在Java语言中,逻辑右移运算符为__>>___。

13.在Java语言中,通过扩展原有的类,声明新类的机制被称为_____继承_____。

14.已知字节数组b,取由b[i]开始至b[j](其中j≥i≥0)结束的字节字符构造一个字符串s,其语句为:

Strings=newString(___b,i,j-i_______);。

15.将容器区域分成东、南、西、北、中五个区域的布局类是__BonderLayout____。

16.在构造非强制对话框时,所使用的构造方法是JDialog(f,s,__false___),其中f为对话框所依赖的窗口,s为对话框的标题。

17.在Java语言中,要播放音频文件可以使用___AudioPlayer____类。

18.当线程调用resume()方法后,就进入___就绪____状态。

19.要使用输入/输出操作的程序,必须要导入____java.io____包。

20.在进行数据库访问时,查询结果存放在一个用___ResultSet___类声明的对象中。

三、简答题(本大题共6小题,每小题3分,共18分)

21.请写出下面程序段的执行结果。

intn=90;

intk=2;

System.out.print(n+″=〞);

while(k<=n){

if(k==n){System.out.println(n);break;}

elseif(n%k==0){System.out.print(k+″*″);n=n/k;)

elsek++;

}

答:

90=2*3*3*5

22.为了系统安全,对JavaApplet小应用程序有什么限制?

答:

小应用程序不允许访问和使用本地文件,避免小应用程序破坏本地文件。

23.请写出声明int类型的二维数组intArr的三种形式。

答:

int[][]intArr、intintArr[][]、int[]intArr[]。

24.请写出在JFrame框架窗口对象中添加组件的步骤。

答:

用getContentPane()方法获得内容面板,再调用add(组件对象)方法将组件加入。

25.请写出使用Graphics2D类声明并创建一个左上角为(20,30)、边长为50的正方形对象square的语句。

答:

Rectangle2Dsquare=newRectangle2D.Double(20,30,50,50);

26.请写出使用纯JavaJDBC驱动程序连接数据库的步骤。

答:

(1)加载驱动程序

(2)创建指定数据库的URL(3)建立连接

四、程序填空题(本大题共5小题,每空2分,共20分)

完全代码,使它能正确实现题意的功能。

错填、不填均无分。

27.一个数如果恰好等于它的因子之和,这个数就称为“完全数”。

例如6=1+2+3。

方法voidfindPerfectNumber()的功能是找出1000以内的所有完全数。

staticvoidfindPerfectNumber()

{

System.out.println("1000以内的完全数有:

");

for(inti=1;i<1000;i++)

{

intt=0;

for(intj=1;j<=i/2;j++)

if(i%j==0)t=t+j;

if(t==i)System.out.print(i+"");

}

}

28.某应用程序的类实现了接口ActionListener,在其窗口的内容面板conPane中,有一个标上文字“红色”的按钮对象btn,并正确为该按钮对象注册了监视器。

按钮处理程序要实现的功能是当点击这个按钮时,窗口的背景色置为红色,并设置该按钮不再响应事件。

publicvoidactionPerformed(ActionEvente){

if(e.getActionCommand().equals("红色")){

conPane.setBackground(①);//Color.RED

btn.②;//removeActionListener(this)

}

}

29.某小应用程序有一个按钮和一个文本区,按钮作为发生键盘事件的事件源,并对它进行监视。

程序运行时,先点击按钮,让按钮激活;从键盘输入英文字母时,在文本区显示输入的字母。

importjAva.applet.*;importjava.awt.event.*;importjavax.swing.*;

publicclassTest29extendsAppletimplementsKeyListener{

intcount=0;

JButtonbutton=newJButton("BEGIN");

JTextAreatextl=newJTextArea(1,10);

publicvoidinit(){

button.addKeyListener(this);

add(textl);①;//text1.setVisible(true)

}

publicvoidkeyPressed(KeyEvente){

intt=e.getKeyCode();

if(t>=KeyEvent.VK_A&&t<=KeyEvent.VK_Z){

text1.append((char)t+"");

}

}

publicvoid②(KeyEvente){}//keyTyped

publicvoidkeyReleased(KeyEvente){}

}

30.以下小应用程序获取图像文件bg.jpg并显示。

importjava.applet.*;importjava.awt.*;

publicclassTest30extendsApplet{

lmagemyImg;

publicvoidstart(){

myImg=getImage(①,"bg.jpg¨);//getCodeBase()

}

publicvoidpaint(Graphicsg){

g.②(myImg,0,0,this);//drawImage

}

}

31.以下程序段实现简单的线程创建、启动和终止的过程。

MyThreadClassmyThread=newMyThreadClass();

myThread.①;//start()

try{

myThread.sleep(10000);

}

Catch(InterruptedExceptione){

}

myThread.②;//stop()

五、程序分析题(本大题共5小题,每小题4分,共20分)

32.阅读下列程序,请写出该程序的运行结果。

classParent

{

Stringone,two;

publicParent(Stringa,Stringb)

{

one=a;two=b;

}

publicvoidprint()

{

System.out.println(two+"to"+one);

}

}

publicclassChildextendsParent

{

publicChild(Stringa,Stringb)

{

super(a,b);

}

publicvoidprint()

{

System.out.println(one+"to"+two);

}

publicstaticvoidmain(Stringargs[])

{

Parentp=newParent("south","north");

Parentt=newChild("east","west");

p.print();

t.print();

}

}

答:

northtosouth

easttowest

33.阅读下列程序,请写出该程序的功能。

importjava.applet.Applet;importjava.awt.*;

publicclassTest33extendsApplet

{

publicvoidpaint(Graphicsg)

{

for(inti=0;i<6;i++)

drawGraphics(i,g);

}

publicvoiddrawGraphics(intn,Graphicsg)

{

g.clearRect(10,10,300,300);

switch(n){

case0:

case3:

g.setColor(Color.red);

g.drawRect(50,50,150,150);

break;

case1:

case4:

g.setColor(Color.blue);

g.drawOval(40,40,160,160);

break;

case2:

case5:

g.setColor(Color.green);

g.fillRect(50,50,200,200);

break;

}

try{

Thread.sleep(1500);

}

catch(InterruptedExceptione){System.exit(0);}

}

}

答:

在applet窗口中,每隔1500毫秒,依次显示出红色正方形、蓝色圆形、绿色填充的正方形,循环4次。

34.阅读下列程序,请写出该程序的功能。

importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;

publicclassTest34{

publicstaticvoidmain(String[]args){

ComboBoxDemomyComboBoxGUI=newComboBoxDemo();

}

}

ClassComboBoxDemoextendsJFrameimplememsItemListener{

StringCountryList[]={"美国","中国","英国","俄罗斯","韩国","德国"};

imGoldMedalNumber[]={46,38,29,24,13,11};

JLabellabel;JComboBoxCombobox;

PublicComboBoxDemo(){

setSize(350,150);

setTitle("第三十届伦敦奥运会金牌查询");

ComainerconPane=getContentPane();

conPane.setLayout(newFlowLayout());

combobox=newJComboBox(CountryList);

combobox.addItemListener(this);

conPane.add(combobox);

label=newJLabel();conPane.add(1abel);this.setVisible(true);

}

publicvoiditemStateChanged(ItemEveme){

if(e.getSource()==combobox)

label.setText(

String.valueOf(GoldMedalNumber[combobox.getSelectedIndex()]));

}

}

答:

在"第三十届伦敦奥运会金牌查询"窗口中显示一个下拉菜单,选中某一国家后,显示相应金牌数。

35.阅读下列程序,请回答下面的问题:

(1)两个文本区内分别每次追加何种字符?

有多少个?

(2)两个文本区里面内容的显示速度有何区别?

答:

(1)左边的文本区每次追加6个大写字母;右边的文本区每次追加6个数字字符。

(2)左边文本区每400ms追加显示一次。

右边文本区每700 ms追加显示一次。

importjava.awt.*;importjava.applet.*;importjavax.swing.*;

publicclassTest35extendsApplet{

JTextArealText,rText;

publicvoidinit(){

setSize(600,500);setLayout(null);

lText=newJTextArea();rText=newJTextArea();

lText.setFont(newFont("TimesNewRoman",1,40));

rText.setFont(newFont("Modern",1,40));

JScrollPanejsp1=newJScrollPane(lText);

JScrollPanejsp2=newJScrollPane(rText);

add(jsp1);add(jsp2);

jsp1.setBounds(20,20,250,450);

jsp2.setBounds(310,20,200,450);

(newthread1(lText,"1")).start();

(newthread1(rText,"2")).start();

}

}

classthread1extendsThread{

protectedJTextAreat;

Stringtext="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";

publicthread1(JTextAreatext,Stringm)

{super(m);t=text;}

publicvoidrun()

{

while(true){

Strings="";

for(inti=0;i<6;i++){

intk;

if(getName().equals("1"))

k=((int)(Math.random()*100)%26);

else

k=((int)(Math.random()*100)%10)+26;

s+=text.charAt(k);//获取k位置字符

}

t.append(s+"\n");

t.setCaretPosition(t.getText().length());//最近输出的内容在文本区中显示

try{sleep(getName().equals("1")?

400:

700);}

catch(InterruptedExceptione){}

}

}

}

36.阅读下列程序,请写出该程序的功能。

importjava.io.*;

classTest36

{

publicstaticvoidmain(Stringargs[])

{

intch;

try{

FileReaderin=newFileReader(newFile("file1.txt"));

FileWriterout=newFileWriter(newFile("file2.txt"));

while((ch=in.read())!

=-1){

if(ch>=(int)'A'&&ch<=(int)'Z')

ch+=32;

elseif(ch>=(int)'a'&&ch<=(int)'z')

ch-=32;

out.write(ch);

}

in.close();

out.close();

}catch(FileNotFoundExceptione1){

System.out.println("文件没有找到!

"+e1);

}catch(IOExceptione2){

System.out.println("文件读写出错!

"+e2);

}

System.out.println("程序结束!

");

}

}

答:

将file1.txt文件内容中的所有大写字符转换成小写字符,所有小写字符转换成大写字符,并将转换后的内容保存到file2.txt文件中。

六、程序设计题(本大题共2小题,每小题6分,共12分)

37.编写方法int[][]transpose(int[][]a),方法将生成并返回一个新数组b,该数组为a的转置数组。

注:

数组转置指的是将数组的行、列内容互换。

答:

方法如下:

 

public static int[][]transpose(int[][] a)

{   

int[][] b=new int[a[0].length][a.length];

  for(int i=0;i

{    

for(int j=0;j

{     b[j][i]=a[i][j];    } 

 } 

  return b; 

 } 

38.以下程序界面有一个标以“OK”的按钮bt、一个文本区ta和一个文本框tf。

当在文本框中输入内容完毕后,点击“OK”按钮可以使文本框内的字符串添加到文本区中,并输出文字“因点击按钮而引发添加”;或者按回车键使得文本框内的字符串添加到文本区中,并输出文字“因在文本框里回车而引发添加”。

注:

这里是给定程序的部分代码,你要编写的是actionPerformed(ActionEvente)方法。

importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;

publicclassTest38extendsJFrameimplementsActionListener

{

JButtonbt=newJButton("OK");

JTextFieldtf=newJTextField(20);

JTextAreata=newJTextArea(10,20);

publicTest38()

{

Containerc=getContentPane();

c.setLayout(newFlowLayout());//指定布局方式为顺序布局

c.add(ta);

c.add(bt);

c.add(tf);

bt.addActionListener(this);

tf.addActionListener(this);

setSize(400,300);

setVisible(true);

}

publicvoidactionPerformed(ActionEvente)//请在“答题纸’’上编写以下代码

{

if(e.getSource()==bt)

{

ta.append(tf.getText()+"(按钮添加)\n");

}

if(e.getSource()==tf)

{

ta.append(tf.getText()+"(回车添加)\n");

}

}

publicstaticvoidmain(Stringargs[])

{

newTest38();

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2