全国Java语言程序设计一试题及答案文档格式.docx

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

全国Java语言程序设计一试题及答案文档格式.docx

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

全国Java语言程序设计一试题及答案文档格式.docx

C.XORMode()D.PaintMode()

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

A.staticB.share

C.serializeD.synchronized

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

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

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

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

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.将容器区域分成东、南、西、北、中五个区域的布局类是___BorderLayout_______。

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;

int[]intArr[];

intintArr[][];

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.primt(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.setEnabled(false);

publicvoidkeyPressed(KeyEvente){

intt=e.getKeyCode();

if(t>

=KeyEvent.VK_A&

&

t<

=KeyEvent.VK_Z){

text1.append((char)t+"

publicvoidkeyTyped(KeyEvente){}

publicvoidkeyReleased(KeyEvente){}

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

importjava.applet.*;

importjava.awt.*;

publicclassTest30extendsApplet{

lmagemyImg;

publicvoidstart(){

myImg=getImage(getCodeBase(),"

bg.jpg¨

publicvoidpaint(Graphicsg){

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

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);

System.out.println(one+"

+two);

publicstaticvoidmain(Stringargs[]){

Parentp=newParent("

south"

,"

north"

Parentt=newChild("

east"

west"

p.print();

t.print();

解:

运行结果

northtosouth

easttowest

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

importjava.applet.Applet;

publicclassTest33extendsApplet{

publicvoidpaint(Graphicsg){

for(inti=0;

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);

case2:

case5:

g.setColor(Color.green);

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

Thread.sleep(1500);

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

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

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

importjavax.swing.*;

importjava.awt.*;

importjava.awt.event.*;

publicclassTest34{

publicstaticvoidmain(String[]args){

ComboBoxDemomyComboBoxGUI=newComboBoxDemo();

classComboBoxDemoextendsJFrameimplementsItemListener{

StringCountryList[]={"

美国"

"

中国"

英国"

俄罗斯"

韩国"

德国"

};

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

JLabellabel;

JComboBoxcombobox;

publicComboBoxDemo(){

setSize(350,150);

setTitle("

第三十届伦敦奥运会金牌查询"

);

ContainerconPane=getContentPane();

conPane.setLayout(newFlowLayout());

combobox=newJComboBox(CountryList);

combobox.addItemListener(this);

conPane.add(combobox);

label=newJLabel();

conPane.add(label);

this.setVisible(true);

publicvoiditemStateChanged(ItemEvente){

if(e.getSource()==combobox)

label.setText(

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

在"

窗口中显示一个下拉菜单,选中某一国家后,显示相应金牌数。

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

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

有多少个?

左边的文本区每次追加6个大写字母;

右边的文本区每次追加6个数字字符

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

左边文本区每400ms追加显示一次;

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

importiava.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"

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"

classthread1extendsThread{

protectedJTextAreat;

Stringtext="

ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"

;

publicthread1(JTextAreatext,Stringm){super(m);

t=text;

publicvoidrun(){

while(true){

Strings="

for(inti=0;

6;

intk;

if(getName().equals("

))

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("

)?

400:

700);

catch(InterruptedExceptione){}

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

importjava.io.*;

classTest36{

publicstaticvoidmain(Stringarg[]){

intch;

FileReaderin=newFileReader(newFile("

file1.txt"

));

FileWriterout=newFileWriter(newFile("

file2.txt"

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

=-1){

if(ch>

=(int)'

A'

&

ch<

Z'

ch+=32;

elseif(ch>

a'

z'

ch-=32;

out.write(ch);

in.close();

out.close();

}catch(FileNotFoundExceptione1){

System.out.println("

文件没有找到!

+e1);

}catch(IOExceptione2){

文件读写出错!

+e2);

程序结束!

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

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

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

注:

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

方法如下:

publicstaticint[][]transpose(int[][]a){

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

for(inti=0;

a.length;

for(intj=0;

a[i].length;

j++){

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

}

}

returnb;

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

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

或者按回车键使得文本框内的字符串添加到文本区中,并输出文字“因在文本框里回车而引发添加”。

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

importjavax.swing.*;

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()==jButton){

jTextArea.append(jTextField.getText()+"

(因点击按钮而引发添加)\n"

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

(因在文本框里回车而引发添加)\n"

publicstaticvoidmain(Stringargs[]){

newTest38();

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

当前位置:首页 > 职业教育 > 其它

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

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