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

上传人:b****1 文档编号:23164578 上传时间:2023-05-15 格式:DOCX 页数:17 大小:22KB
下载 相关 举报
Java语言程序设计一试题答案.docx_第1页
第1页 / 共17页
Java语言程序设计一试题答案.docx_第2页
第2页 / 共17页
Java语言程序设计一试题答案.docx_第3页
第3页 / 共17页
Java语言程序设计一试题答案.docx_第4页
第4页 / 共17页
Java语言程序设计一试题答案.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

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

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

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

Java语言程序设计一试题答案

全国2014年4月高等教育自学考试

Java语言程序设计

(一)试题

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

1.以下标识符中,不是Java语言关键字的是(A)

A.wait B.new

C.long D.switch

2.以下数据类型转换中,必须进行强制类型转换的是(A)

A.int→char B. short→long

C.float→double D. byte→int

3.以下供选择的概念中,属于面向对象语言重要概念和机制之一的是(C)

A.函数调用 B.模块

C.继承 D.结构化

4.以下Java程序代码中,能正确创建数组的是(C)

A.int myArray[]; myArray[]=new int[5];

B.int myArray[]=new my(5);

C.int[]myArray={1,2,3,4,5};

D.int myArray[5]={1,2,3,4,5};

5.某Java程序的类A要利用Swing创建框架窗口,则A需要继承的类是(B)

A.JWindow B.JFrame

C.JDialog D.JApplet

6.MouseMotionListener接口能处理的鼠标事件是(D)

A.按下鼠标键 B.鼠标点击

C.鼠标进入 D.鼠标移动

7.以下术语中,属于文字字型风格属性的是(C)(风格:

正常、斜体、粗体)

A.颜色 B.宋体

C.斜体 D.字号

8.以下能作为表示线程优先级的数值,并且级别最低的是(B)级别数:

(1―10)

A.0 B.1

C.1 5 D.1 6

9.某Java程序用javax.swing包中的类JFileChooser来实现打开和保存文件对话框。

该程序 通过文件对话框首先获得的信息是(D)

A.文件长度 B.文件路径

C.文件内容 D.文件对象

1 0.在编写访问数据库的Java程序时,ResultSet对象的作用是(B)

A.用来表示与数据库的连接 B.存储查询结果

C.在指定的连接中处理SQL语句 D.建立新数据库连接

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

11.类Testll经Java编译程序编译后,产生的文件是 __Testll.class____。

12.表达式“45&20”的十进制值是 ___4___。

13.如果类A继承和扩展类B,则子类A和超类B之间的关系是 _is-a___。

14.Java语言提供的用于处理不可改变的字符串类是 _String类__。

(StringBuffer处理可改变的字符串类)

15.要使得已注册的按钮对象暂时不响应事件,需使用的方法是___setEnabled()___。

1 6.一个水平滚动条对象的初始值是150,滑块的宽是8个像素,表示的范围是[0,300]。

 创建这样的滚动条对象时,提供的最后2个参数依次是__0,300____。

17.某应用程序定义的类C17是JPanel的子类,在类C17的对象中需要绘图,则在类 C17中应重写的方法是 _paintComponent()_____。

18.当线程进入临界段后,发现需要与别的线程进行同步,则要调用的方法 是 _wait()___。

19.某程序想要随机读写字符文件,能支持这个要求的类是__RandomAccessFile____。

20.某应用程序已经声明了InetAddress对象addr,现要用域名创建addr 对象,能实现这样要求的代码是addr =InetAddress._getByName(“”)_____;。

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

21.已知变量n,请写出使用for语句计算的代码。

答:

doubleS=0.0;

for(inti=1;i

S+=1.0/i;

22.请写出接口体中可能包含的内容。

答:

包含常量定义和方法定义两部分。

23.请写出对事件对象作监视器注册的作用。

答:

事件对象作监视器注册后,系统才会把该对象上发生的事件通知到监视对象。

24.已知Graphics对象g,获得Graphics2D对象g2d,然后,用圆角长方形类创建对象 circle,该对象的左上角坐标是(30,40),半径是50。

请写出实现以上要求的Java代 码。

答:

Graphics2Dg2d=(Graphics2D)g;

RoundRectangle2Dcircle=newRoundRectangle2D.Double(30,40,100,100,100);

25.某程序希望用FileFilter类的子类为打开文件对话框设置文件筛选条件。

请写出设置 此筛选条件要使用的类及相应的方法。

答:

使用的类为JFileChooser类,相应的方法是addChooserFileFilter()或者setFileFilter()

26.JDBC是Java程序与数据库连接的API。

请写出JDBC能做的三件事情。

答:

与某个数据库建立连接,向数据库发送SQL语句和处理数据库返回结果。

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

27.方法void moveOddFront (int a[])的功能是将数组a中的所有奇数都移到数组的前端, 而把偶数放于所有奇数的后面,其方法是当发现是偶数时,就让该数留在原来位置, 当发现是奇数时,就与前面的第一个偶数交换。

程序引入变量odd表示移动过程中 遇到的奇数个数。

void moveOddFront(int a[])

{

for(int i=0, odd=0; _i

if( a[i] %2 == 1)

{

int t = a[odd];a[odd]=a[i]; a[i]=t;__odd++____;

28.以下程序的界面包含一个文本区text和一个允许多选的列表list,列表的条目存于字 符串数组sports[]中,当列表发生选择事件时,事件处理程序将这次选中的所有条目 在文本区中输出。

这里给出的是其中处理列表事件的方法。

public void valueChanged(__ListenerSelectionEvent___e)

{

if (e.getSource()==list)

{

text.setText(null);

int tempList[]=list. getSelectedIndices();∥获得选中索引表

for (int i=0;i < tempList.length; i++)∥对索引表中的每个元素显示被选中字样

text.append(sports[__tempList[i]__]+":

被选中\n");

29.以下应用程序创建一个窗口,窗口内放置一个面板,在面板中显示一张图片和一段 文字。

import javax.swing.*;import java.awt.*;

public class Test29 {

public static void main(String[] args) {

MyFrame frame = new MyFrame();

class MyFrame extends JFrame {

public MyFrame(){

setTitle("Test29");   setSize(300, 200);

Toolkit tool=__getToolkit()__;

Image img = tool.getImage("myPic2.jpg");

getContentPane().add(new MyPanel (img));

setVisible(true);

class MyPanel extends JPanel{

Image myImg;

MyPanel(Image img){ myImg=img;}

public void paintComponent(Graphics g) {

if(myImg!

=null)g._drawImage__ (myImg, 100,30,this);

g.drawString("我是一名自考生!

",100, 140);

}

}

30.类ShareDataManager用于管理多个线程共享数据data,其中定义了一个供线程修改 data的方法modiData()。

为了对data的修改操作保持完整,多线程在data上的操作 有互斥要求;另外,限制线程对data的修改不能让data为负数,所以多线程在data 上的操作还有同步要求。

以下是类ShareDataManager的定义。

class ShareDataManager{

int data;

ShareDataManager(int init){data=init;}

synchronized void modiData(int delta){

if (data+delta>=0){ data+=delta;

} else {

while (data+delta<0){

try{__wait()__}

catch (InterruptedException e){}

}

data+=delta;

}

_notify()__;

}

}

31.某个缓冲式输出的示意程序的界面有一个文本框fileOut和一个文本区text,程序运 行时,先在文本区中输入要存入文件的内容,接着在文本框中输入文件名并回车, 则程序将文本区中的内容保存到指定的文件中。

以下是该程序中相应文本框文件名 的输入事件的方法。

public void actionPerformed(ActionEvent e){

if (e.getSource()==fileOut){

try{

out = new BufferedWriter(new _FileWriter(fileOut.getText())__ );

out._write(text.getText())__ ;

out.flush(); out.close(); text.setText(null);

} catch (FileNotFoundException el){

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

\n");

}catch (IOException exp){

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

\n");

}

}

}

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

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

classMother

{

publicvoidmethod1()

{

System.out.println("CallMother'smethodl()");

}

publicvoidmethod2()

{

System.out.println("CallMother'smethod2()");method1();

}

}

classGirlextendsMother

{

publicvoidmethod1()

{

System.out.println("CallGirl'smethodl()");

}

publicstaticvoidmain(Stringargs[])

{

Girlg=newGirl();g.method2();

}

}

答:

Call Mother's method2()

Call Girl's method1()

33.阅读下列程序,请写出调用Test33(4)的输出结果。

publicstaticvoidTest33(intn)

{

inti,j,a[][]=newint[n][n];

for(i=0;i

{

if(i%2==0)

for(j=0;j

a[i][j]=j+1;

elsefor(j=n-1;j>=0;j--)

a[i][j]=n-j;

}

for(i=0;i

{

for(j=0;j

System.out.print("\t"+a[i][j]);

System.out.println();

}

}

答:

1234

4321

1234

4321

34.阅读下列程序,请回答以下问题:

(1)在文本框中输入1 7,在文本区中会显示多少行整数,各行有几个数?

(2)如果将程序的第一行删除,程序中标号①~⑨语句中哪些会出现错误?

答:

(1)4行,各行的数字个数分别是5、5、5、2。

(2)第1条语句和第2条语句。

importjava.awt.*;//问题

(2)所指要删除的行

importjavax.swing.*;

importjava.awt.event.*;

publicclassTest34extendsJFrameimplementsActionListener

{

JTextFieldtextF;JTextAreatextA;

Test34()

{

Containercon=getContentPane();//①

con.setLayout(newBorderLayout());//②

textF=newJTextField(10);//③

textF.addActionListener(this);//④

textA=newJTextArea(6,10);//⑤

setSize(240,200);//⑥

con.add(textF,"North");//⑦

con.add(textA,"Center");//⑧

setVisible(true);//⑨

}

publicstaticvoidmain(String[]args)

{

newTest34();

}

publicvoidactionPerformed(ActionEvente)

{

intn,d;

if(e.getSource()==textF)

{

n=Integer.parseInt(textF.getText());

for(intk=1;k<=n;k++)

{

d=(int)(Math.random()*1000%1000);

textA.append(""+d);

if(k%5==0)textA.append("\n");

}

}

}

}

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

(1)程序运行时,呈现的界面中菜单条有哪些菜单?

(2)程序中带注释/*1*/的代码行的作用是什么?

答:

(1)体育、娱乐、学习,三个菜单。

(2)用菜单项名称设置该菜单项事件源的文字信息。

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

classMenuWindowextendsJFrameimplementsActionListener

{

JTextFieldtext;

MenuWindow(Strings,StringmenuList[][])

{

setTitle(s);

Containercon=this.getContentPane();

con.setLayout(newBorderLayout());

this.setLocation(100,100);this.setSize(300,100);

JMenuBarmenubar=newJMenuBar();

for(inti=0;i

{

JMenumenu=newJMenu(menuList[i][0]);

for(intj=1;j

{

JMenuItemanItem=newJMenuItem(menuList[i][j]);

/*1*/anItem.setActionCommand(menuList[i][j]);

anItem.addActionListener(this);menu.add(anItem);

}

menubar.add(menu);

}

text=newJTextField();setJMenuBar(menubar);

con.add(text,BorderLayout.SOUTH);

}

publicvoidactionPerformed(ActionEvente)

{

text.setText("<"+e.getActionCommand()+">菜单项被选中!

");

}

}

publicclassTest35

{

publicstaticvoidmain(String[]args)

{

MenuWindowwindow;

StringmenuList[][]={{"体育","跑步","打篮球","打乒乓"},

{"娱乐","唱歌","跳舞"},

{"学习","数学","语文"}};

window=newMenuWindow("菜单示例程序",menuList);

window.setVisible(true);

}

}

36.阅读下列程序,请回答以下问题:

(1)程序要求在文本框text中输入的内容是什么?

(2)程序采用什么输入方式下载网络文件?

答:

(1)网络文本文件的URL地址。

(2)缓冲式输入

import.*;importjava.awt.*;

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

publicclassTest36

{

publicstaticvoidmain(Stringargs[])

{

newConnectNet("读取网络文本文件示意程序");

}

}

classConnectNetextendsJFrameimplementsActionListener

{

JTextFieldtext=newJTextField(30);

JTextAreashowArea=newJTextArea();

JButtonb=newJButton("下载");JPanelp=newJPanel();

ConnectNet(Strings)

{

super(s);Containercon=this.getContentPane();

p.add(text);p.add(b);

JScrollPanejsp=newJScrollPane(showArea);

b.addActionListener(this);

con.add(p,"North");con.add(jsp,"Center");

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setSize(500,400);setVisible(true);

}

publicvoidactionPerformed(ActionEvente)

{

StringurlName=text.getText();

try

{

URLurl=newURL(urlName);//由网址创建URL对象

URLConnectiontc=url.openConnection();//获得URLConnection对象

tc.connect();//设置网络连接

InputStreamReaderin=

newInputStreamReader(tc.getInputStream());

BufferedReaderdis=newBufferedReader(in);

StringinLine;

while((inLine=dis.readLine())!

=null)

{

showArea.append(inLine+"");

}

dis.close();

}

catch(MalformedURLExceptione2)

{e2.printStackTrace();}

catch(IOExceptione3)

{e3.printStackTrace();}

}

}

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

37.编写方法int[] arrayReverse(int[]a),该方法的功能是返回一个新的数组b,新数组的 元素排列顺序与参数数组的元素排列顺序相反。

 答:

int[]arrayReverse(int[]a)

{

int[]b=newint[a.length];

for(inti=0;i

{

b[a.length-1-i]=a[i];

}

returnb;

}

38.类InputData是用于输入考生考号、课程和成绩的窗口,窗口的界面如右图所示,其中三个文本框用来输入考号、课程和成绩。

注:

这里是给定程序的部分代码,你要编写的是完成该类的构造方法。

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

importjava.awt.event.*;

publicclassInputDataextendsJFrameimplementsActionListener

{

JTextFieldnoText,markText,courseText;

JButtonok=newJButton("确定");

publicstaticintno,mark;//让创建者直接获取考号和成绩

publicstaticStringcourse;//让创建者直接获取课程名称

InputData()

{

super("成绩输入窗

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

当前位置:首页 > 表格模板 > 书信模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1