全国高等教育自学考试Java语言程序设计考试试题课程代码Word文件下载.docx
《全国高等教育自学考试Java语言程序设计考试试题课程代码Word文件下载.docx》由会员分享,可在线阅读,更多相关《全国高等教育自学考试Java语言程序设计考试试题课程代码Word文件下载.docx(10页珍藏版)》请在冰豆网上搜索。
B.在写GUI程序时,AWT和Swing不能同时使用
C.AWT和Swing在不同的平台上都有相同的表示
D.AWT中的类是从Swing继承的
6.在以下Swing组件中,能为它指定布局管理器的是()
A.JScrollBar对象B.JMenuBar对象
C.JComboBox对象D.JDialog对象
7.一般的绘图程序要定义一个JPanel子类。
在JPanel子类中还要重
定义一个方法,在这个方法中调用绘图方法,绘制各种图形。
要重定义的方法是()A.paint()B.paintComponent()C.repaint()
D.update()
8.用Runnable接口实现多线程的主要工作是()
A.声明实现Runnable接口的类,在类内实现run()方法,让线程调用start()方法。
B.声明实现Runnable接口的类,在类内实现run()方法,在类内声明线程对象,在initO方法中创建新线程,启动新线程。
C.声明实现Runnable接口的类,在类内实现run()方法,在类内声明线程对象,在Init()方法或start()方法中创建新线程,在start()方法中启动新线程。
D.声明实现Runnable接口的类,在类内实现run()方法,在init()方法中创建新线程,在start()方法中启动新线程。
9.程序如果要按行输入输出文件的字符流,最合理的方法是采用
()A.BufferedReader类和BufferedWriter类
B.InputStream类和OutputStream类
C.FileReader类和FileWriter类
D.File_Reader类和File_Writer类
10.在编写访问数据库的Java程序中,要用到DriverManager类。
该
类的作用是()A.存储查询结果
B.处理与数据库的连接
C.在指定的连接中处理SQL语句
D.处理驱动程疗:
的加载和建立数据库连接二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。
错填、不填均无分。
11.Java程序的字节码文件的扩展名是。
12.构造一个Java表达式:
y/x>
5,并且x!
二0。
这个表达式是
13.在类声明之前用修饰,声明类是不能被再继承的类,即
它不能再有子类。
14.设有字符串定义:
Strings二ABCDABCD;
则表达式s.indexOf⑻的值是。
15.在实现接口ActionListener的方法actionPerformed()中,常用
的有两个获得事件源的方法,它们是getActionCommand()和
16.使用单选按钮的方法是将一些单选按钮用对象分组,使
同一组内的单选按钮只允许一个被选中。
17.在Java语言中,用类Font对象设置字型。
如果要设置的字型是:
细明体、正常风格(Font.PLAIN),12磅字号,构造这样要求的Font
对象fnA的代码是。
18.线程从阻塞状态恢复到就绪状态,有三种途径:
自动恢复、用
resume()方法恢复和用方法恢复。
19.为普通的8位字节流文件读和写操作提供支持的类是
20.Connection类是java,sql包中用于处理与数据库连接的类。
Connection对象是用来表示的对象,Java程序对数据库的操作都在这种对象上进行。
三、简答题(本大题共6小题,每小题3分,共18分)
21.请写出表示year年是闰年的Java表达式。
闰年的条件是:
每4
年一个闰年,但每100年少一个闰年,每400年又增加一个闰年。
22.请写出在类的方法的定义之前,加上修饰字public、private的区别。
23.请写出将文本区text放置于滚动而板jsp,并将滚动而板jsp添加到JFrame窗口myFrame的Java语句。
24.要用Graphics2D类的方法画一个图形,首先要把参数对象g强制转换成Graphics2D对象;
然后,用图形类提供的静态方法Double()创建一个图形对象;
最后,以图形对象为参数调用Graphics2D对象的draw()方法绘制这个图形。
请写出用这样的方法绘制一条线段的程序段,线段的两个端点分别是(10.0,10.0)和(30.0,30.0)o
25.请写出字符流数据与字节流数据的区别。
26.请写出URLConnection类在编写Java网络应用程序中的作用。
四、程序填空题(本大题共5小题,每小题4分,共20分)
27.方法intsigmaDigit(intn)的功能是求出十进制整数n的各位数字之和。
例如,n=1234,该方法的返回值是10。
staticintsigmaDigit(intn){intsum=0,d;
while(n>
0){d=n%10;
;
n/=10;
}
28.以下小应用程序能响应鼠标按动的事件,当鼠标在正文区的某个位置被点击
时,就在该位置显示一个记号“X”,程序限制最多保留最新20个位置。
importjava,applet.*;
importjava.awt.*;
classMyPanelextendsmouseExited(MouseEvente){}publicvoidmousedicked(MouseEvente){
marks[currentMarks]=newPoint(e.getX(),e.getY());
if(markCount<
MaxMarks)markCount++;
currentMarks=
(currentMarks+l)%MaxMarks;
repaint();
}}
publicclassClassiextendsApplet{publicvoidinit(){
MyWindowmyWndow=newMyWindowO;
}
29.这是一个处理选择项目事件的子窗口类。
窗口中有2个选择框,当选中某个选择框时,文本框将显示选择框对应的信息。
classMyWindowextendsJFrameimplementsItemListener
{JTextFieldtext;
JCheckBoxboxl,box2;
MyWindow(Strings){;
Containercon=this.getContentPane();
this.setLocation(100,100);
this.setSize(400,200);
text=newJTextField(10);
boxl=newJCheckBox(A计算机,false);
box2=
newJCheckBox(B计算机,false);
con.setLayout(new
GridLayout(3,2));
con.add(newJLabel(计算机产品介绍,JLabel.CENTER));
add(newJLabel(计算机2选1,JLabel.CENTER));
con.add(boxl);
con.add(box2);
con.add(text);
boxl・addltemListenet(this);
box2・addltemListener(this);
this.setVisible(true);
this・pack();
publicvoiditemStateChanged(e){
if(e・getltemSelectable()==boxl)
{text.setText(A公司生产);
}elseif(e.getltemSelectable()二二box2)
{text.setText(B公司生产);
}}}
30.这是一个播放幻灯片的小应用程序中的paint()方法。
设幻灯片己由小应用程序的initO方法装入内存,并存放于mylmage数组中,幻灯片的张数放于变量num中,paint()方法要播放的幻灯片号是currentImageo
intcurrentImage二0;
finalintnum二30;
Image[Jmylmage二new[num];
publicvoidpaint(Graphicsg){
if((mylmage[currentImage])!
=null)
g・(mylmage[currentlmage],10,10,
mylmage[currentImage]・getWidth(this),
mylmage[currentImage]・getHeight(this),this);
31.以下定义的类ShareData用于管理多个线程共享数据val。
为了保证对共享数据val修改的完整性,线程对val的操作需要互斥,类
ShareData中定义的方
法modiDataO就是供共享val的线程修改vol的方法。
程序共有20个线程共享val,有些减少val,有些增加val。
publicclassClassi{
publicstaticvoidmain(Stringargs[]){ShareData
mrc=newShareData(50);
ThreadaThreadArray=new
Thread[20];
getVal());
for(inti=0;
i<
20;
i++){intd=i%
2==0?
50:
-30;
aThreadArrayLi]=newThread(new
MyMultiThreadClass(mrc,d));
aThreadArray[i]・start();
WhileLoop:
〃等待所有线程结束
while(true){
i++)
if(aThreadArray[i].
())continueWhileLoop;
break;
}}}
classMyMultiThreadClassimplementsRunnable{ShareDataUseinteger;
intdelta;
MyMultiThreadClass(ShareDatamrc,intd)
publicvoidrun(){
1000;
{Useinteger・modiData(delta);
try{Thread,sleep(10);
//做一些其他的处理
}catch(InterruptedExceptione){}
classShareData{intval;
ShareData(intinitValue){val=initValue;
}int
getVal(){returnval;
privatevoidputVal(intv){val二v;
}void
modiData(intd){putVal(getVal()+d);
五、程序分析题(本大题共5小题,每小题4分,共20分)32.阅读
下列程序,请写出该程序的输出结果。
classA{intx,y;
A(inta,intb){x=a;
y=b;
publicclasssample{
publicstaticvoidmain(Stringargs[]){Apl,p2;
p2=newA(12,15);
pl=p2;
p2.x++;
33.阅读下列程序,请写出调用pascal(4)的输出结果。
staticvoidpascal(intn){intpas[];
pas=newint[n];
pasLO]=1;
for(inti二2;
=n;
i卄){
/*由存储在pas中的原来内容生成新内容*/
pas[i-1]=1;
for(intj=i~2;
j>
0;
j―)pas[j]=pas[j]
+pas[j~1];
for(intj=0;
j<
i;
j++)}}
34.阅读下列程序,请用示意图画岀程序运行时呈现的界而。
importjava・applet・*;
importjava・awt*;
importjavax・swing・*;
classMyPanelextendsJPanel{JButtonbutton;
JLabellabel;
MyPanel(Stringsi,Strings2){
this.setLayout(newGridLayout(2,2));
button
二newJButton(sl);
label=newJLabel(s2,JLabel.CENTER);
add(button);
add(label);
add(newJLabel());
publicstaticvoidmain(Stringargs[]){JFramemw
=newJFrame(一个示意窗口);
mw.setSize(400,250);
Containercon=mw.getContentPane();
con.setLayout(newBorderLayout());
MyPanelpanel1,panel2;
newMyPanel(按钮2,标签2);
JButtonbutton二new
JButton(开始按钮);
con.add(panel1,North);
con.add(panel2,South);
con.add(button,Center);
mw.setVisible(true);
35.阅读下列程序,请回答以下问题:
(1)程序要求在文本框text中输入的内容是什么?
(2)辅助文本区showArea组件的作用是什么?
(3)如何使程序开始下载网络文本文件?
(4)程序采用什么输入方式下载网络文件?
importjava・net・*;
importjava・awt・*;
publicclassClassi{
publicstaticvoidmain(Stringargs[]).{new
ConnectNet(读取网络文本文件示意程序);
classConnectNetextendsJFrameimplements
ActionListene:
r{JTextFieldtext二newJTextField(30);
JTextAreashowArea二newJTextAreaO;
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(urlXame);
//由网址创建URL对象
URLConnectiontc=url.openConnection();
//获得
URLConnection对象
tc.connect();
//设置网络连接
InputStreamReader
in=new
InputStreamReader(tc.getInputstream());
BufferedReaderdis=newBufferedReader(in);
StringinLine;
while((inLine=dis・readLine())!
=null){showArea・append(inLine+\n);
dis・close();
}catch(Ma1formedURLExceptione2){e2・printStackTrace();
}catch(I0Exceptione3){e3・printStackTrace();
36…阅读下列程序,请写出该程序的功能。
importjava.applet・*;
ThreadmyThread
=null;
publicvoidstart(){setSize(500,400);
if(myThread二二null){
myThread=newThread(this);
myThread・start();
while(myThread!
=null){try
{myThread.sleep(500);
}catch(InterruptedExceptione){}
repaint();
publicvoidpaint(Graphicsg){intx=
(int)(400*Math.random());
inty=
(int)(300*Math.random());
g.setColor(Color,red);
g.fillOval(x,y,10,10);
37.编写数组复制方法。
该方法从己知平衡的两维数组的左下角复制
出一个非平衡的三角二维数组。
设复制数组方法的模型为:
publicstaticdoublet][]leftDownConer(double[][]anArray)38.设计实现以下形式布局的Java小应用程序。
注1:
其中空白格是文本框,用于输入对应的内容。
注2:
这里给出的是程序的一部分,你要编写的是方法
MyWindow(Strings)。
importjava・applet・*;
importjavax・swing.*;
importjava.awt・*;
classMyWindowextendsJFrame{
JTextFieldtextl,text2,text3,text4;
publicMyWindow(Strings){//这个方法是你要编写的
publicclassClassiextendsApplet{MyWindowmyWindow;
publicvoidinit(){myWindow二newMyWindow(一个小应用程
序);