版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
全国2008年10月自学考试Java语言程序设计(一)试题
课程代码:04747
一、单项选择题(本大题共10小题,每小题1分,共10分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括
号内。错选、多选或未选均无分。
1.下述字符组合不能作为Java程序标识符的是()
A.Aal2B.大x
C.y小D.5x
2.以下程序代码的输出的结果是()
intx=53;
System.out.println(1.0+x/2);
A.27.0B.27.5
C.1.026D.1.026.5
3.参照以下Java代码,以下四个叙述中最确切的是()
classA{
intx;staticinty;
voidfac(Strings){Syatem.out.println(H字符串:"+s);}
}
A.x、y和s都是成员变量
B.x是实例变量、y是类变量、s是局部变量
C.x和y是实例变量、s是参数
D.x、y和s都是实例变量
4.需要分析字符串,并将字符串分解成可被独立使用的单词,可使用java,util包中的
类是
()
A.StringB.StringBuffer
C.StringTokenizerD.stringTokenizer
5.要为程序的子窗口设定一个由字符串s指定的名字,可以采用的代码是()
A.JFrame(s)B.window(s)
C.newJFrame(s)D.super(s)
6.以下关于菜单的叙述中,正确的是()
A.菜单分三级定义,最高一级的是菜单条,菜单条中放菜单,菜单中放菜单项
B.菜单分三级定义,最高一级的是菜单,菜单中放菜单条,菜单条中放菜单项
C.菜单分两级定义,最高一级的是菜单,菜单中放菜单项
D.菜单分两级定义,最高一级的是菜单条,菜单条中放菜单项
7.以下所述内容全部是字型要素的是()
A.字体、字形和大小B.字体、风格和字号
C.字形、风格和字号D.字形、颜色和字号
8.用Thread子类实现多线程的步骤顺序是()
A.声明Thread类的子类,创建Thread子类的实例,让线程调用start。方法
B.声明Thread类的子类,在子类中重新定义run()方法,创建Thread子类的实例
C.创建Thread子类的实例,让线程调用start。方法
D.声明Thread类的子类,在子类中重新定义run()方法,创建Thread子类的实例,让
线程调用start。方法
9.为16位Unicode字符流提供读和写操作支持的类分别是(〉
A.FilelnputStream类和FileOutputStream类
B.InputStream类和OutputStream类
C.FileReader类和FileWriter类
D.File_Reader类和File_Writer类
10.能利用对象提供的方法获得流对象和实现网络连接的是()
A.URLConnection对象B.URL对象
C.InetAddress对象D.TCP/IP对象
二、填空题(本大题共10小题,每小题2分,共20分)
请在每小题的空格中填上正确答案。错填、不填均无分。
11.一个小应用程序必须定义成一个O
12.用条件运算符构造一个表达式:goal等于10时,表达式的值为“对了!”,否则,表
达式的值为“错了!工这个表达式是。
13.类是对一组相同对象的描述,类概括了同类对象的共有性质:。
14.设有数组a和b的定义如下:
int[]a={l,2,3};int[]b={4,5,6)
执行以下代码“a=b;”,除了完成赋值操作之外,引起系统额外要做的工作是。
15.布局使容器的多个组件拥有同一个显示空间,某一时刻只能显示•个组
件。
16.Java语言为处理鼠标事件提供两个接口:接口和MouseMotionListener接
口。
17.某个绘图方法设置成“异或模式”绘图,并用黄色作为异或模式设定的绘图颜色。如
果当时背景色为红色,并用红色绘制线段,则线段的实际颜色是o
18.程序员用Java语言编写多线程应用程序,程序员能控制的关键性工作有两个方面:
一是编写线程的方法;二是建立线程实例。
19.BufferedWriter类是提供缓冲式输出的类。程序需要先创建对象,再利用这
个对象创建BufferedWriter对象。
20.在Java语言中,客户端使用的套接字类是。
三、简答题(本大题共6小题,每小题3分,共18分)
21.请写出表示条件“x=2与y=3有且只有一个成立”的Java表达式”。
22.如果类Student是类Person的子类,类Undergraduate是类Student的子类,请指出以
下代码行中哪些是不合法的。
Personpl=newStudent();
Personp2=newUndergraduate();
Students1=newPerson();
Students2=newUndergraduate();
Undergraduateugl=newPerson();
Undergraduateug2=newStudent();
Objectob=newStudent();
23.请写出程序处理文本框输入结束事件(回车)添加监视器的方法,以及监视器类必须
实现的接口方法。
24.请写出一条语句,能够绘制一条从点(20,30)开始,长为100像素的水平线段。设
调用的对象是类型为Graphics的g»
25.某Java程序要使用文件输入输出流,请写出该程序所需要的import语句。
26.JDBC是Java程序与数据库连接的API,请写出JDBC能做的三件事情。
四、程序填空题(本大题共5小题,每空2分,共20分)
27.方法intmaxDigit(intn)的功能是找出十进制整数n各位中最大的一位数字。例如,
n=23765,该方法的返回值是7。
staticintmaxDigit(intn){
intc=0,d;
while(n>0){
d=;
if(d>c)c=d;
n/=10;
)
28.某程序的界面包含一个文本区textl、一个文本框text2和一个按钮button。实现在文
本区中输入整数序列后,点击按钮,程序响应按钮事件,累计文本区输入的整数序列,
并将总和输出在文本框中。这里给出的是其中相应按钮事件的方法。
publicvoidactionPerformed(ActionEvente){
intsum;
if(e.getSource()==button){
Strings=textl.;〃获取textl中的信息
StringTokenizerfenxi=newStringTokenizer(s,",„\n");
intn=fenxi.countTokens();
doublea[]=newdouble[n];
for(inti=0;i<n;i++){
Stringtemp=fenxi.nextToken();
a[i]=Double.valueOf(temp).doubleValue();
sum=0;
for(inti=0;i<n;i++){
text2.setText(uu+sum);〃刷新显示。
29.以下是生成菜单项对象,以及菜单项选择事件处理方法的部分代码。要求当菜单项
singingltem被选中时,在文本框text中输出“唱歌菜单项被选中!”的字样。
singingltem=new("唱歌");〃生成菜单项对象
publicvoidactionPerformed(ActionEvente){
if(e.getSource()==singingItem)
text.setText(e.()+”菜单项被选中!”);
}
30.某小应用程序实现幻灯片放映。小应用程序的init()方法将幻灯片读入数组中存储和
注册鼠标监视器。程序运行时,单击鼠标,就顺序变换放映幻灯片的序号。这里给出的
是其中的paint。方法和mousePressed()方法。
finalintnumber=30;〃假定幻灯片有30张
intcount=0;
Image[]pic=newImage[number];
publicvoidpaint(gc){
if((pic[count])!=null)
gc.drawImage(pic[count],10,10,pic[count].getWidth(this),
pic[count].getHeight(this),this);
}
publicvoidmousePressed(MouseEvente){
count=(count+1)%number;〃循环逐张显示
31.以下定义的类shareDataManager用于管理多个线程共享数据data。一些线程要减少
data,另一些线程要增加data。由于data不可以是负值,修改data的方法对这些线程来
说不仅要互斥,还要同步。类提供•个方法modiData。供修改data的线程调用,该方法
在data修改结束后,应通知其它等待进入这个方法的线程。
classShareDataManager{
intdata=O;
voidmodiData(intdelta){
if(delta>=0){
data+=delta;
}else{
while(data<delta){
try{System.out.println(*'发生等待!”);
wait();
}catch(InterruptedExceptione){}
}
data-=delta;
ShareDataManager(intititData){data=initData;}
)
五、程序分析题(本大题共5小题,每小题4分,共20分)
32.阅读下列程序,请写出该程序的输出结果。
importjava.applet.*;importjava.awt.*;
classPoint{
intx,y;
Point(intxx,intyy){x=xx;y=yy;}
Point(Pointp){x=p.x;y=p.y;}
voidm(intdx,intdy){x+=dx;y+=dy;}
classCircleextendsPoint{
intr;
Circle(Pointp,intrr){super(p);r=rr;}
floatc(){return3.14f*2.0f*r;)
floata(){return3.14f*r*r;}
}
publicclasssampleextendsApplet(
Circleyuan;Pointd;
publicvoidinit(){d=newPoint(2,5);yuan=newCircle(dJO);}
publicvoidpaint(Graphicsg){
g.drawString(HyuanCircle°+(int)(yuan.c()*100.0)/100.0,5,20);
g.drawString(HyuanArea”+(int)(yuan.a()*100.0)/100.0,5,40);
)
)
33.阅读卜.列程序,请写出该程序的功能。
importjava,util.*;
publicclassClassi{
publicstaticvoidmain(Srtingargs[]){
Datedatel=newDate();
System.out.printin(datel);
Stringt=datel.toStringO;
intendPos=t.indexOf('C');
t=t.substring(11,endPos);
System,outprintln(t);
)
}
34悯读下列程序,请写出该程序的功能。
importjava.applet.*;importjavax.swing.*;importjava.awt.event.*;
publicclassClass1extendsAppletimplementsActionListener{
JTextFieldtextl,text2;
publicvoidinit(){
textl=newJTextField(l0);text2=newJTextField(l0);
setSize(200,100);add(textl);add(text2);
text1.addActionListener(this);
)
publicvoidactionPerformed(ActionEvente){
longn;
if(e.getSource()==text1){
n=Long.parseLong(text1.getText());
text2.setText(String.valueOf(n*n));
35悯读以卜程序,请写出该程序的功能。
importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;
classMyScrolIBarextendsJscrollBar{
publicMyScrollBar(intinit,intlen,intlow,inthigh){
super(JScrollBar.HORIZONTAL,init,len,low,high);
)
)
classMyWindowextendsJFrameimplementsAdjustmentListener{
privateJTextFieldtext;
MyWindow(Strings){
super(s);
MyScrolIBarmyBar=newMyScrollBar(10,10,0,255);
Containercon=this.getContentPane();
con.setLayout(newGridLayout(2,l));
this.setSize(200,100);
this.setLocation(100,100);
myBar.addAdjustmentListener(this);
text=newJTextField(n0,20);
con.add(text);con.add(myBar);
this.setVisible(true);
)
publicvoidadjustmentValueChanged(AdjustmentEvente){
MyScrollBarmyBar=(MyScrollBar)e.getAdjustable();
text.setText(""+myBar.getValue());
)
)
publicclassClassi{
publicstaticvoidmain(String[]args){
MyWindowmyWindow=newMyWindow(Htext5_4”);
)
)
36.小应用程序创建一个线程。例子使用容器类方法getGraphics。获得Graphics对象,给
线程作为画笔使用。请写出该程序中这个线程的工作内容。
importjava.applet.*;importjava.awt.*;
publicclassClassiextendsjava.applet.AppletimplementsRunnable{
ThreadredBall;GraphicsredPen;
intrx=0,ry=0;
publicvoidinit(){
setSize(250,200);
redBall=newThread(this);
redPen=getGraphics();
redPen.setColor(Color.red);
setBackground(Color.gray);
)
publicvoidstart(){redBall.start();}
publicvoidrun(){
while(true){
if(Thread.currentThread()==redBall){
rx=(int)(80*Math.random());
ry=(int)(80*Math.random());
redPen.setColor(Color.red);
redPen.fillOval(l00+rx,l00+ry,10,10);
try{redBal1.sleep(500);}
catch(InterruptedExceptione){}
redPen.setColor(Color.gray);
redPen.fillOval(l00+rx,l00+ry,l0,10);
}
六、程序设计题(本大题共2小题,每小题6分,共12分)
37.编写一个方法halfArray(),要求该方法有一个元素类型为int的数组参数,方法返
回一个新数组,新数组的长度与参数数组的长度相同,而新数组元素的值是参数数组各
元素的一半。
38.一个Java小应用程序,界面有三个文本框和两个按钮,前两个文本框用于输入整
数,第三个文本框用于输出结果。两个按钮分别表示加和减运算。当前两个文本框输入
整数后,点击相应按钮,程序就将计算结果输出在第三个文本框中。以下是程序的大部
分,其中监视按钮事件的方法未给出,试编写处理按钮事件的方法。
注:这里是给定部分的程序,你要编写的是actionPerformed(ActionEvente)^*Yio
importjava.applet.*;importjavax.swing.*;
importjava.awt.*;importjava.awt.event.*;
classPanel1extendsJPanel{
JTextFieldtextl,text2,text3;JButtonaddButton,subButton;
Panel1(){
textl=newJTextField(10);text2=newJTextField(lO);
text3=newJTextField(10);setLayout(newGridLayout(5,l));
addButton=newJButton(u加”);subButton=newJButton("减”);
add(textl);add(text2);
add(text3);add(addButton);add(subButton);
)
publicclassClassiextendsAppletimplementsActionListener{
Panelpanel;
publicvoidinit(){
setSize(100,200);panel=newPanel1();add(panel);
(panel.addButton).addActionListener(this);
(panel.subButton).addActionListener(this);
)
publicvoidactionPerformed(ActionEvente){
〃这里是你要编写的代码
全国2009年1月Java语言程序设计(一)试题
课程代码:04747
一、单项选择题(本大题共10小题,每小题1分,共10分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括
号内。错选、多选或未选均无分。
1.下列字符组合不能作为Java整型常量的是()
A.078B.0x3ACB
C.5000D.0x3ABC
2.以下程序代码的输出结果是()
intx=10;
while(x>7)
{System.out.print("*");x—;}
A**B***
C*D****
3.设类U声明,及对象u和v的定义如下:
classU{
intx,inty;
U(inta,intb){x=a;y=b;}
voidcopy(Ua){x=a.x;y=a.y;}
}
Uu=newU(l,2),v=newU(2,3);
在以下供选择的代码中,可能引起系统回收内存的是()
A.u.x=v.y;u.y=v.x;B.u=v;
C.u.copy(v);D.v.copy(u);
4.设有以下代码:
Strings1=123”;
Strings2=n123M;
Strings3=newString,123”);
则表达式sl==s2和sl==s3的值分别是()
A.true,trueB.false,false
C.true,falseD.false,true
5.以下关于AWT与Swing之间关系的叙述,正确的是()
A.Swing是AWT的提IMJ和扩展
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。方法,让线程调用slart()方法。
B.声明实现Runnable接口的类,在类内实现run()方法,在类内声明线程对象,在init()
方法中创建新线程,启动新线程。
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程序的字节码文件的扩展名是o
12.构造一个Java表达式:y/x>5,并且x!=0。这个表达式是。
13.在类声明之前用修饰,声明类是不能被再继承的类,即它不能再有子类。
14.设有字符串定义:
Strings="ABCDABCD";
则表达式s.indexOf("B")的值是。
15.在实现接口ActionListener的方法actionPerformed。中,常用的有两个获得事件源的
方法,它们是getActionCommandO^U。
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。)和(30.0,30.0)»
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.*;
importjavax.swing.*;importjava.awt.event.*;
classMyPanelextendsJPanel{
publicvoidprint(Graphicsg,intx,inty)(
g.setColor(Color.red);
g.drawLine(x-5,y-5,x+5,y+5);
g.drawLine(x+5,y-5,x-5,y+5);
)
)
classMyWindowextendsJFrameimplementsMouseListener{
finalintMaxMarks=20;
intcurrentMarks=0,markCount=0;
Pointmarksf]=newPoint[MaxMarks];
MyPanelpanel;
MyWindow(){
this.setLocation(100,100);
this.setSize(300,300);
Containercon=this.getContentPane();
panel=newMyPanel();con.add(panel);
________(this);
this.setVisible(true);
)
publicvoidpaint(Graphicsg){
inti;
g.clearRect(0,0,this.getWidth(),this.getHeight());
for(i=0;i<markCount;i++){
(g,marks[i].x,marks[i].y);
publicvoidmousePressed(MouseEvente){
publicvoidmouseReleased(MouseEvente){}
publicvoidmouseEntered(MouseEvente){}
publicvoidmouseExited(MouseEvente){}
publicvoidmouseClicked(MouseEvente){
marks[currentMarks]=newPoint(e.getX(),e.getY());
if(markCount<MaxMarks)markCount++;
currentMarks=(currentMarks+l)%MaxMarks;
repaint();
)
)
publicclassClassiextendsApplet{
publicvoidinit(){
MyWindowmyWndow=newMyWindow();
)
)
29.这是•个处理选择项目事件的子窗口类。窗口中有2个选择框,当选中某个选择框时,
文本框将显示选择框对应的信息。
classMyWindowextendsIFrameimplementsItemListener{
JTextFieldtext;
JCheckBoxboxl,box2;
MyWindow(Strings){
Containercon=this.getContentPane();
this.setLocation(100,100);this.setSize(400,200);
text=newJTextField(lO);
boxl=newJCheckBox("A计算机”,false);
box2=newJCheckBox(nB计算机”,false);
con.setLayout(newGridLayout(3,2));
con.add(newJLabel(”计算机产品介绍”,JLabeLCENTER));
add(newJLabel("计算机2选1”,JLabeLCENTER));
con.add(box1);con.add(box2);con.add(text);
boxl.addltemListener(this);
box2.addItemListener(this);
this.setVisible(true);this.pack();
)
publicvoiditemStateChanged(e){
if(e.getItemSelectable()==boxl){
text.setText(nA公司生产)
}elseif(e.getItemSelectable()==box2){
text.setText(HB公司生产)
)
)
}
30.这是一个播放幻灯片的小应用程序中的paint()方法。设幻灯片已由小应用程序的init()
方法装入内存,并存放于mylmage数组中,幻灯片的张数放于变量num中,paint。方法
要播放的幻灯片号是currentimageo
intcurrentimage=0;
finalintnum=30;
Image[]mylmage=new[num];
publicvoidpaint(Graphicsg){
if((my1mage[currentimage])!=null)
g.(mylmage[currentimage],10,10,
mylmage[currentimage].getWidth(this),
mylmagefcurrentimage].getHeight(this),this);
31.以下定义的类ShareData用于管理多个线程共享数据val。为了保证对共享数据val
修改的完整性,线程对val的操作需要互斥,类ShareData中定义的方法modiData。就是
供共享val的线程修改val的方法。程序共有20个线程共享val,有些减少val,有些增
加valo
publicclassClassi{
publicstaticvoidmain(Stringargs[]){
ShareDatamrc=newShareData(50);
Thread[]aThreadArray=newThread[20];
System.out.println("\t刚开始的值是:“+mrc.getVal());
System.out.println(H\t多个线程正在工作,请稍等!”);
for(inti=0;i<20;i++){
intd=i%2==0?50:-30;
aThreadArray[i]=newThread(newMyMultiThreadClass(mrc,d));
aThreadArray[i].start();
}
WhileLoop:〃等待所有线程结束
while(true){
for(inti=0;i<20;i++)
if(aThreadArray[i].())continueWhileLoop;
break;
}
System.out.println(n\t最后的结果是:"+mrc.getVal());
)
)
classMyMultiThreadClassimplementsRunnable{
ShareDataUseinteger;intdelta;
MyMultiThreadClass(ShareDatamrc,intd){
Useinteger=mrc;delta=d;
)
publicvoidrun(){
for(inti=0;i<1000;i++){
Uselnteger.modiData(delta);
try{Thread.sleep(10);〃做一些其他的处理
}catch(InterruptedExceptione){}
classShareData{
intval;
ShareData(intinitValue){vaI=initValue;)
intgetVal(){returnval;}
privatevoidputVal(intv){val=v;}
voidmodiData(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++;
System.out.printlnC'pl.x="+pl.x);
33.阅读下列程序,请写出调用pascal(4)的输出结果。
staticvoidpascal(intn){
intpas[];
pas=newintfn];
pas[0]=1;
System.out.println(pas[O]);
for(inti=2;i<=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++)
System.out.print(pas[j]+"");
System.out.println();
)
}
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());
}
)
publicclassClassi{
publicstaticvoidmain(Stringargs[]){
JFramemw=newJFrame("一个示意窗口”);
mw.setSize(400,250);
Containercon=mw.getContentPane();
con.setLayout(newBorderLayoutO);
MyPanelpanel1,panel2;
panel1=newMyPanel。按钮1"标签ln);
panel2=newMyPanel。按钮2",“标签2”);
JButtonbutton=newJButton("开始按钮)
con.add(panell,HNorthn);con.add(panel2,"South");
con.add(button,"Center");
mw.setVisible(true);
)
)
35.阅读下列程序,请回答以卜一问题:
(1)程序要求在文本框text中输入的内容是什么?
⑵辅助文本区showArea组件的作用是什么?
(3)如何使程序开始卜载网络文本文件?
(4)程序采用什么输入方式下载网络文件?
import.*;importjava.awt.*;
importjava.awt.event.*;importjava,io.*;importjavax.swing.*;
publicclassClassi{
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,"Center1');
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+"'n");
dis.close();
}catch(MalformedURLExceptione2){e2.printStackTrace();}
catch(IOExceptione3){e3.printStackTrace();}
)
)
36..阅读下列程序,请写出该程序的功能。
importjava.applet.*;importjava.awt.*;
publicclassClassiextendsjava.applet.AppletimplementsRunnable{
ThreadmyThread=null;
publicvoidstart(){
setSize(500,400);
if(myThread==null){
myThread=newThread(this);myThread.start();
publicvoidrun(){
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);
)
)
六、程序设计题(本大题共2小题,每小题6分,共12分)
37.编写数组复制方法。该方法从已知平衡的两维数组的左下角复制出一个非平衡的三角
二维数组。设复制数组方法的模型为:
publicstaticdoubletJ[]leftDownConer(doublelJ[]anArray)
38.设计实现以下形式布局的Java小应用程序。
I~5j~~&
考试成绩平时成一
注1:其中空白格是文本框,用于输入对应的内容。
注2:这里给出的是程序的一部分,你要编写的是方法MyWindow(Strings)。
importjava.applet.*;importjavax.swing.*;importjava.awt.*;
classMyWindowextendsJFrame{
JTextFieldtextl,text2,text3,text4;
publicMyWindow(Strings){〃这个方法是你要编写的
publicclassClassiextendsApplet{
MyWindowmyWindow:
publicvoidinit(){myWindow=newMyWindow(M一个小应用程序");}
全国2009年10月自学考试Java语言程序设计(一)试题
课程代码:04747
一、单项选择题(本大题共10小题,每小题1分,共10分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括
号内。错选、多选或未选均无分。
1.下面供选字符序列中,不居于Java语言关键字的是()
A.gotoB.null
C.falseD.native
2.以下程序代码的输出结果是()
intx=73;System.out.println(x»1);
A.36B.36.5
C.37D.true
3.Java语言中,在类定义时用final关键字修饰,是指这个类()
A.不能被继承B.在子类的方法中不能被调用
C.能被别的程序自由调用D.不能被子类的方法覆盖
4.以下是关于字符串运算的代码,执行该代码段的输出结果是()
String&="0123456789",si,s2;
sl=s.substring(2);s2=s.substring(2,5);System.out.println(s1+s2);
A.0122345B.234567892345
C.012234D.23456789234
5.以卜是关于FlowLayout布局组件排列顺序的叙述,正确的是()
A.从上到下排列B.从左到右排列
C.从下到上排列D.从右到左排列
6.程序执行方法showOpenDialogO,能打开“打开文件对话框”,如果该方法的返回值是
JFileChooser.APPROVE_OPTION,则用户执行的动作是()
A.对话框非正常关闭B.按下“打开/保存”按钮
C.按下“撤销”按钮D.重新输入了一个文件名
7.设已经有Graphics2D对象g2d,Rectangle2D对象r,绘制对象r的代码是()
A.g2d.draw(r)B.g2d.drawRect(r)
C.r.draw()D.r.drawRect()
8.在以下供选择的方法中,能让线程从阻塞状态恢复到就绪状态的方法是()
A.start()B.init()
C.resume()D.run()
9.在以下供选择的方法中,不熊用于文件随机访问的方法是()
A.readChar()B.readLong()
C.readlnteger()D.writeChars()
10.某程序利用网址参数创建URL对象urL接着希望利用对象url获得URLConnection对
象,则这个url对象要调用的方法是()
A.connection()B.URLConnection()
C.getConnection()D.openConnection()
二、填空题(本大题共10小题,每小题2分,共20分)
请在每小题的空格中填上正确答案。错填、不填均无分。
11.一个应用程序必须在某个类中定义的方法是o
12.import语句的格式是»
13.在面向对象语言中,对象之间的交互通过实现。
14.设有两个字符串对象strl和str2,则表达式“strl==str2”的意义是判别字符串strl和
str2。
15.一个基于Swing的应用程序可能在任何平台上都会有相同的。
16.处理键盘事件的Java程序,要实现的接口是=
17.Java语言约定,坐标原点位于绘图区域的。
18.Java程序中,在临界段中使用方法,使执行该方法的线程等待。
19.BufferedWriter类对象能按行输入文件的内容,按行输入的方法是。
20.在包中有InetAddress类的定义,Java程序中的InetAddress类对象存储的内容
是。
三、简答题(本大题共6小题,每小题3分,共18分)
21.请写出实现计算y=lxl的if语句。
22.以下代码定义了一个类,请指出其中三条不合法的代码行(行号参见注释)。
classTest22{//I
floatu;staticfloatv;//2
staticvoidsetUV(booleanf){〃3
u=facl(f);//4
v=fac2(!f);)//5
staticfloatfacl(booleanf){returnf?u:v;}//6
floatfac2(booleanf){returnf?v:u;}//7
}//8
23.在java.awt.event中,用来检测并对事件做出反应的模型涉及三种对象。请写出这三种
对象。
24.写出设置Font对象fn的Java语句,要求Courier字体,BOLD风格,18磅字号,设调
用对象的类型为Graphics的go
25.通过流的构造方法建立文件流对象,请写出创建输入输出文件流对象的两种常用构造方
法。
26.当Client程序和Server程序需要通信时,可以用Socket类建立套接字连接,请写出双
方实现通信的两种方式。
四、程序填空题(本大题共5小题,每空2分,共20分)
27.方法intsigmaEvenNum(int[]a)的功能是求已知数组中偶数的个数。
staticintsigmaEvenNum(int[]a){
ints=0;
for(inti=0;;i++){
if()s++;
)
returns;
)
28.某小应用程序窗口包含有文本区dispArea,以及一个带文字“追加”的按钮。当点击这个
按钮时,程序弹出一个输入信息的对话框,并将对话框中输入的内容追加到文本区中。
以下是其中相应“追加”按钮事件的方法。
publicvoidactionPerformed(ActionEvente){
if(e..equals(“追加")){
Stringresult=(String)JOptionPane.showInputDialog(null,nW^i}入信息”,
”输入对话框”,JOptionPane.PLAIN_MESSAGE,null,null,null);
dispArea.(result+"n);
2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二四年度技术开发合作合同标的定义与交付时间表3篇
- 2024年店面租赁协议书2篇
- 2024年快递业务合作条款合同版
- 科技园区物业员工聘用合同
- 2024专业工地餐饮服务承包详细协议版B版
- 驻校食堂员工行为规范
- 租赁公司砼路面建设合同
- 儿童乐园租赁合同:亲子娱乐时光
- 餐饮业劳动合同范本
- 2024年新版:包含贷款的二手住宅交易合同模板2篇
- TSG-R0005-2022《移动式压力容器安全技术监察规程》(2022版)
- 对拼多多的财务报表分析
- 藏木水电站左岸边坡预应力锚固工程投标文件技术篇
- 滋养细胞疾病超声诊断课件
- 锅炉大气污染物排放标准(北京市地方标准DB11/139-2015)
- 第十一章-护理科研工作中的伦理道德
- 抗菌药-喹诺酮类ppt课件
- 《古代汉语》教案
- 继电保护课程设计——牵引变电所牵引馈线保护设计
- 中考复习:“语言表达得体” 知识点梳理
- 变电站各种工作流程图
评论
0/150
提交评论