




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2008年1月
一、单项选择题(本大题共10小题,每小题1分,共10分)
1.下述字符组合不能作为Java程序标识符的是()
A.Aal2B.大xC.y小D.5x
2.以下程序代码的输出的结果是()
intx=53;
System,out.println(1.0+x/2);
A.27.0B.27.5C.1.026D.1.026.5
3.参照以下Java代码,以下四个叙述中最确切的是()
classA{
intx;staticinty;
voidfac(Strings){Syatem.out.println(0字符串:"+s);}}
A.x、y和s都是成员变量B.x是实例变量、y是类变量、s是局部变量
C.x和y是实例变量、s是参数D.x、y和s都是实例变量
4.需要分析字符串,并将字符串分解成可被独立使用的单词,可使用java,util包中的类是()
A.StringB.StringBufferC.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.FilelnputSlream类和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.一个小应用程序必须定义成一个。
12.用条件运算符构造一个表达式:goal等于10时,表达式的值为“对了!”,否则,表达式的值为“错了!”。
这个表达式是。
13.类是对一组相同对象的描述,类概括了同类对象的共有性质:o
14.设有数组a和b的定义如下:
int[]a={l,2,3};int[]b={4,5,6)
执行以下代码“a=b;”,除了完成赋值操作之外,引起系统额外要做的工作是。
15.布局使容器的多个组件拥有同一个显示空间,某一时刻只能显示一个组件。
16.Java语言为处理鼠标事件提供两个接口:接口和MouseMotionListener接口。
17.某个绘图方法设置成“异或模式”绘图,并用黄色作为异或模式设定的绘图颜色。如果当时背景色为红
色,并用红色绘制线段,则线段的实际颜色是。
18.程序员用Java语言编写多线程应用程序,程序员能控制的关键性工作有两个方面:一是编写线程的
方法;二是建立线程实例。
19.BufferedWriter类是提供缓冲式输出的类。程序需要先创建对象,再利用这个对象创建
BufferedWriter对象。
20.在Java语言中,客户端使用的套接字类是。
三、筒答题(本大题共6小题,每小题3分,共18分)
21.请写出表示条件“x=2与产3有且只有一个成立”的Java表达式”。
22.如果类Student是类Person的子类,类Undergraduate是类Student的子类,请指出以下代码行中哪些是
不合法的。
Personpl=newStudent();
Personp2=newUndergraduate();
Studentsl=newPerson();
Students2=newUndergraduate();
Undergraduateugl=newPerson();
Undergraduateug2=newStudent();
Objectob=newStudent();
23.请写出程序处理文本框输入结束事件(回车)添加监视器的方法,以及监视器类必须实现的接口方法。
24.请写出一条语句,能够绘制一条从点(20,30)开始,长为100像素的水平线段。设调用的对象是类型
为Graphics的go
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=newStringlbkenizer(s,"„,\n");
intn=fenxi.countTokens();
doublea[]=newdouble[n];
for(inti=0;i<n;i++){
Stringtemp=fenxi.nextToken();
ali]=Double.valueOf(teTYip).doubleValue();
)
sum=0;
for(inti=O;i<n;i++){
text2.setText(""+sum);〃刷新显示。
)
)
29.以下是生成菜单项对象,以及菜单项选择事件处理方法的部分代码。要求当菜单项singingitem被选中
时,在文本框text中输出“唱歌菜单项被选中!”的字样。
singingitem=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不可以是负值,修改dala的方法对这些线程来说不仅要互斥,还要同步。类提供一个
方法modiData。供修改data的线程调用,该方法在data修改结束后,应通知其它等待进入这个方法的线程。
classShareDataManager{
intdata=O;
voidmodiData(intdelta){
if(delta>=0){
data4-=delta;
}else{
while(data<delta){
try{System.out.print!n("发生等待!*');
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.14#2.0#1*;}
floata(){return3.14f*r*r;}
)
publicclasssampleextendsApplet{
Circleyuan;Pointd;
publicvoidinit(){d=newPoint(2,5);yuan=newCircle(d,10);}
publicvoidpaint(Graphicsg){
g.drawString(uyuanCircle"+(int)(yuan.c()*100.0)/100.0,5,20);
g.drawString(°yuanAreaH+(int)(yuan.a()*100.0)/l00.0,5,40);
)
)
33.阅读下列程序,请写出该程序的功能。
importjava,util.*;
publicclassClassi{
publicstaticvoidmain(Srtingargs[]){
Datedatel=newDate();
System.out.printin(datel);
Stringt=datel.toString();
intendPos=t.indexOf('C');
t=t.substring(11,endPos);
System.outprintln(t);
)
)
34.阅读下列程序,请写出该程序的功能。
importjava.applet.*umportjavax.swing.*umportjava.awt.event.*;
publicclassClass1extendsAppletimplementsActionListener{
JTextFieldtextl,text2;
publicvoidinit(){
textl=newJTextField(l0);text2=newJTextField(10);
setSize(200J00);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.*;
classMyScrollBarextendsJscrollBar{
publicMyScrollBar(intinit,intlen,intlow,inthigh){
super(JScroHBar.HORIZONTAL,initjen,low,high);
)
)
classMyWindowextendsJFrameimplementsAdjustmentListener{
privateJTextFieldtext;
MyWindow(Strings){
super(s);
MyScrollBarmyBar=newMyScrollBar(10,10,0,255);
Containercon=this.getContentPane();
con.setLayout(newGridLayout(2,l));
this.setSize(200J00);
this.setLocation(100,100);
myBar.addAdjustmentListener(this);
text=newJTextField("0,20);
con.add(text);con.add(myBar);
this.setVisible(true);
)
publicvoidadjustmentVaiueChanged(AdjustmentEvente){
MyScrollBarmyBar=(MyScrollBar)e.getAdjustable();
text.setText(""+myBar.getValue());
)
)
publicclassClassi{
publicstaticvoidmain(String[|args){
MyWindowmyWindow=newMyWindow(ntext5_4");
)
)
36.小应用程序创建一个线程。例子使用容器类方法getGraphics。获得Graphics对象,给线程作为画笔使用。
请写出该程序中这个线程的工作内容。
importjava.applet.*jimportjava.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.fillOvaKl00+rx,100+ry,10,10);
try{redBalLsleep(500);)
catch(InterruptedExceptione){}
redPen.setColor(Color.gray);
redPen.fillOval(l00+rx,l00+ry,10,10);}}}}
六、程序设计题(本大题共2小题,每小题6分,共12分)
37.编写一个方法halfArray(),要求该方法有一个元素类型为int的数组参数,方法返回一个新数组,新数
组的长度与参数数组的长度相同,而新数组元素的值是参数数组各元素的一半。
38.一个Java小应用程序,界面有三个文本框和两个按钮,前两个文本框用于输入整数,第三个文本框用
于输出结果。两个按钮分别表示加和减运算。当前两个文本框输入整数后,点击相应按钮,程序就将计算
结果输出在第三个文本框中。以下是程序的大部分,其中监视按钮事件的方法未给出,试编写处理按钮事
件的方法。
注:这里是给定部分的程序,你要编写的是actionPerformed(ActionEvente)方法。
importjava.applet.*;importjavax.swing.*;
importjava.awt.*;importjava.awt.event.*;
classPanel1extendsJPanel{
JTextFieldtextl,text2,text3;JButtonaddButton,subButton;
Panel1(){
text1=newJTextField(10);text2=newJTextField(lO);
text3=newJTextField(10);setLayout(newGridLayout(5,l));
addButton=newJButton("力口”);subButton=newJButton(“减”);
add(textl);add(text2);
add(text3);add(addButton);add(subButton);}}
publicclassClassiextendsAppletimplementsActionListener{
Panelpanel;
publicvoidinit(){
setSize(l00,200);panel=newPanel1();add(panel);
(panel.addButton).addActionListener(this);
(panel.subButton).addActionListener(this);)
publicvoidactionPerformed(ActionEvente){
〃这里是你要编写的代码
2010年全国自考Java语言程序设计模拟试卷(一)
一、单项选择题(本大题共1()小题,每小题1分,共10分)
1.下列正确的句子是()
A.float3.14;B.bytei=225;C.intk=33L;D.intpE][];
2.当使用FilelnputStream类中的read。方法时,如果没有读入一个字节数据时,返回值为()
A.0-1C.trueD.false
3.能够支持javadoc命令的文档注释形式是()
A./**...〃B/*...*/C〃D/**...*/
4.以下程序代码的输出结果是()
intx=100;System.out.println(5.5+x/8);
A.18B.17.5C.9.5D.5.512
5.当用户在文件对话框中选择了文件并按下了“打开/保存”按钮后,程序可利用一个方法取得文件对象,
并针对这个对象使用getName。取得文件名,使用getPath()取得文件的路径,则这个方法是()
A.getFile()B.getSelectFile()C.getSelectedFile()D.getDescription()
6.在Java中,表示换行符的转义字符是()「山AHC"D'dd,
7.一个实现Runnabel接口的类必须要实现的方法是()
A.start()B.run()C.sleep()D.init()
8.下列有关Java的叙述错误的是()
4强类型语言B.与平台无关C.可以使用汉字变量名D.不检查数组下标越界
9.下列有关数组的叙述错误的是()
4数组是将一组相同类型的数据顺序存储,组成一种复合数据类型B.在Java语言中,数组是一种引用类
型,数组名如同对象名一样,是一种引用C.对于多维数组,从最高维开始,可以对每一维分配不等长的
空间
D.在Java语言中,数组元素可以互相赋值,而数组名不能直接赋值
10.当线程A使用某个对象,而此对象又需要线程B修改后才能符合A线程的需要,这时线程A就要等待线程
B完成修改工作,这种现象称为()
4线程的同步B.线程的互斥C.线程的调度D.线程的就绪
二、填空题(本大题共10小题,每小题2分,共20分)
1.在switch语句中,通过_语句退出switch语句,使程序从整个switch语句后面的第一条语句处开始
执行。
2.在Java中所有实现的多维数组,实际上是由一维数组构成的一。
3.为实现线程同步,Java语言提供了notify。、notifyAll()ff—三个方法供线程在临界段中使用。
4.Java语言使用Unicode字符集,共有一个字符。
5.闰年的条件是:每4年一个闰年,但每100年少一个闰年,每400年又增加一个闰年。如果年份用整数类型
变量y表示,贝0年是闰年的条件用逻辑表达式可描述为
6Java语言中,逻辑类型用关键字—标识,也称布尔类型。
7.Java程序能实现多线程并行执行,为了让一个线程暂停执行,其他线程有机会被执行,可对要暂停的线程
执行一方法。
8.Java应用程序和小应用程序都由一个或多个扩展名为—的文件组成。
9.—将显示区域按行、列划分成一个个大小相等的格子,组件依次放入这些格子中。
10.键盘事件的接口是—o
三、简答题(本大题共6小题,每小题3分,共18分)
1.请写出:提供缓冲式输出的类、采用缓冲输出时如果想立即写入文件就调用的方法。
2.在以下类的声明中,指出哪些是错误的以及错误的原因?
①classClass22extendsClass2201,Class2202()
②publicabstractclassClass22{.....}
③abstractfinalclassClass22{.....}
©abstractpublicclassClass22{.....}
©publicabstractclassString}.....}
©publicfinalclassClass22extendsimplementinterface!{......}
3.文件随机访问应该利用什么类来实现?创建此类对象的代码应该能捕获什么类型的异常?
4.用一个Java语句完成下面的要求:
先将整型变量a的值加1,再把它加到变量b中。
5.用一个Java语句完成下面的要求:
先把变量a与b的差赋值给变量c,再把变量b的值减1。
6.请写一条语句,实现用预定的颜色填充一个突出显示的矩形色块,其中矩形左上角坐标为
(200,100),右下角坐标为(400,500),调用的是类型为Graphics的g对象。
四、程序填空题(本大题共5小题,每空2分,共20分)
1.下面小应用程序启动后自动播放一个声音文件“l.wav”。
importjava.applet.*;
publicclassClass3001extendsApplet{
publicvoidstart(){
___=getAudioClip(getCodeBase(),"1.wav'*);
clip.___;}}
2.下列程序的功能是每隔一秒钟输出一个字符串“Hello!”o
publicclassC3101implementsRunnable{
publicstaticvoidmain(Stringargs口){
C3101t=newC3101();
Threadtt=newThread(t);
tt.start();}
publicvoidrun(){
for(;;){
try{—;}
catch(一){}
SysteTn.out.println("HelloH);}}}
3.设计一个JFrame窗口,窗口中心有一个文本区。另有4个菜单,每个菜单都有菜单项,每个菜单项都对应
有快捷键,选择某个菜单项时,窗口中心的文本区显示相应信息。
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
publicclassC2902implementsActionListener{
JTextFieldtext=newJTextField(20);
Stringt口={“文件编辑又格式“,“帮助”};
Menumenu[]=newMenu[4];
Strings口={"打开7保存“,“复制粘贴“,“字体段落“,“小助手“,“关于“};
Menuitemjmi[]=newMenuitem[8];
C2902(){
JFramemyWin=newJFrame(',Ex0606n);
myWin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Containercon=myWin.getContentPane();
con.add(text,nCenter");
text.setEditable(false);
myWin.setMenuBar(jmb);
inti;
for(i=0;i〈4;i++)〃生成四个菜单{
menu[i]=newMenu(t[i]);
jmb.add(menuEi]);}
for(i=0;i〈8;i++)〃每个菜单中放两个菜单项{
jmi[i]=newMenultem(s[i]);
menu[i/2].add(jmi[i]);
jmiEi].addActionListener(this);
jmi[i].__(newMenuShortcut(65+i));〃设快捷键}
myWin.setBounds(300,200,400,200);
myWin.setVisible(true);}
publicvoidactionPerformed(ActionEvente){
text.setText("你选择了:"+e.getActionCommand()+"菜单项}
publicstaticvoidmain(String[]args){
newC2902();}}
4.下面应用程序,绘制一个红色五角星。请完成程序。
importjava.awt.*;
importjavax.swing.*;
classMyPanelextendsJPanel{
publicvoid___{
intr=100;
intxl=100,
x2=(int)(r*(1-Math.cos((18*Math.PI)/180)))»
x3=(int)(r*(1+Math.cos((18*Math.PI)/l80))),
x4=(int)(r*(1-Math.cos((54*Math.PI)/l80))),
x5=(int)(r*(1+Math.cos((54*Math.PI)/180))),
yi=o,
y2=(int)(r*(l-Math.sin((l8*Math.PI)/18O))),
y3=(int)(r*(l-Math.sin((l8*Math.PI)/180))),
y4=(int)(r*(1+Math.sin((54*Math.PI)/l80))),
y5=(int)(r*(1+Math.sin((54*Math.PI)/l80)));
g.drawOvaKO,0,200,200);
g.drawLine(x4,y4,xl,yl);g.drawLine(x1,yI,x5,y5);
g.drawLine(x5,y5,x2,y2);g.drawLine(x2,y2,x3,y3);
g.drawLine(x3,y3,x4,y4);}}
publicclassC3002extendsJFrame{
C3002(){
super(^'C3002(,);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
getContentPane().add(newMyPanelO);
setSize(210,242);
setVisible(true);}
publicstaticvoidmain(String[]args){
newC3002();}}
5.下面程序运行后,连续输出20个相同的单词。请完成程序。
publicclassC3102{
publicstaticvoidmain(Stringargs[]){
t.start();}}
classHelloimplementsRunnable{
inti=0;
publicvoidrun(){
while(一){
System.out.print(i+n:HelloH);}}}
五、程序分析题(本大题共5小题,每小题4分,共20分)
1.写出下面程序的运行结果。
publicclassTestextendsTT{
publicstaticvoidmain(Stringargs[]){
Testt=newTest(',Tom.u);}
publicTest(Strings){
super(s);
System.out.print(HHowareyou?1');}
publicTest(){
this(nIamJack.'1);}}
classTT{
publicTT(){
System.out.print(nHi!");}
publicTT(Strings){
this();
System.out.print(MIam"+s);}}
2.阅读下面程序,写出程序功能。
importjava.applet.*;importjava.awt.*;
publicclassClass3602extendsAppletimplementsRunnable{
ThreadredBall,blueBall;GraphicsredPen,bluePen;
intblueSeta=O,redSeta=O;
publicvoidinit(){
setSize(250,200);
redBall=newThread(this);blueBall=newThread(this);
redPen=getGraphics();bluePen=getGraphics();
redPen.setColor(Color.red);bluePen.setColor(Color.blue);
setBackground(Color,gray);}
publicvoidstart(){
redBalLstart();blueBall.start();}
publicvoidrun(){
intx,y;
while(true){
if(Thread.currentThread()==redBall){
x=(int)(80.0*Math.cos(3.1415926/1SO.O*redSeta));
y=(int)(80.0*Math.sin(3.1415926/180.0*redSeta));
redPen.setColor(Color.gray);
redPen.fillOval(l00+xJ00+y,10,10);
redSeta+=3;
if(redSeta>=360)redSeta=0;
x=(int)(80.0*Math.cos(3.1415926/180.0:iiredSeta));
y=(int)(80.0*Math.sin(3.1415926/180.0*redSeta));
redPen.setColor(Color.red);
redPen.fillOvald00+x,l00+y,10,10);
try{redBall.sleep(20);}
catch(InterruptedExceptione){}}
elseif(Thread.currentThread()==blueBall){
x=(int)(80.0*Math.cos(3.1415926/180.0*blueSeta));
y=(int)(80.0*Math.sin(3.1415926/1SO.O*blueSeta));
bluePen.setColor(Color.gray);
bluePen.fillOval(l50+x,l00+y,10,10);
blueSeta-=3;
if(blueSeta<=-360)blueSeta=O;
x=(int)(80.0*Math.cos(3.1415926/180.0*blueSeta));
y=(int)(80.0*Math.sin(3.1415926/180.0*blueSeta));
bluePen.setColor(Color.blue);
bluePen.fillOval(l50+x,100+y,l0,10);
try{blueBall.sleep(40);)
catch(InteiTuptedExceptione){}}}}}
3阅读下列程序,写出运行结果。
publicclassClass3205{
publicstaticvoidmain(String[]args){
Stringstrl=nabcn;Stringstr2=',Abcu;
Stringstr3=',abc',;Stringstr4=newString("abcn);
System.out.println(strl==str2);
System.out.println(strl.equals(str2));
System.out.println(str1==str3);
System.out.println(strl.equals(str3));
System.out.println(str1==str4);
System.out.println(strl.equals(str4));}}
4.阅读下列程序,写出程序功能。
importjava.awt.*umportjava.awt.event.*umportjavax.swing.*;
publicclassClass3505implementsAdjustmentListener{
JScrollBarjs;
JLabellabel;
intsize=20;
publicClass3505(){
JFramemyWin二newJFrame(',Class3505n);
myWin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
myWin.setBounds(200,200,400,400);
Containercon=myWin.getContentPane();
js=newJScrollBar(JScrolIBar.HORIZONTAL,20,10,1,210);
js.setSize(newDimension(395,50));
js.addAdjustmentListener(this);
con.add(js);
label=newJLabel(nClass3505u);
con.add(label);
myWin.setVisible(true);}
publicvoidadjustmentValueChanged(AdjustmentEvente){
size=e.getValue();
Fontf=newFont(label.getFont().getName(),
label.getFont().getStyle(),size);
label.setFont(f);}
publicstaticvoidmain(String[]args){
newClass3505();}}
5.阅读下面程序,写出程序运行结果。
classprinter(
synchronizedvoidprintchar(charch)
for(inti=l;i<=3;i4-4-)System.out.print(ch);
System.out.println();}}
classprinterThreadextendsThread{
printerptr;
charch;
printerThread(printerptr,charch)
{
this.ptr=ptr;
this.ch=ch;
)
publicvoidrun()
{
for(inti=l;i<=3;i++)ptr.printchar(ch);}}
publicclassClass3605{
publicstaticvoidmain(String[]args){
printerptr=newprinter();
printerThreadptl=newprinterThread(ptr,A);
printerThreadpt2=newprinterThread(ptr,B);
ptl.start();
pt2.start();}}
六、程序设计题(本大题共2小题,每小题6分,共12分)
1.编写一个小应用程序,在小应用程序中有两个线程,一个负责模仿圆转运动,另一个模仿椭圆运动。己
给出部分代码,请完成程序。
importjava.awt.*;
importjava.applet.*;
publicclassClass3804extendsAppletimplementsRunnablef
Threadthread1,thread?;
Graphicsg;
publicvoidinit()
|
setSize(500,500);
setBackground(Color.gray);
g=getGraphics();
g.setColor(Color.red);
g.setXORMode(Color.blue);
threadl=newThread(this);
thread2=newThread(this);
)
publicvoidstart()
{thread1.start();thread2.start();}
publicvoidrun()
(
intx=0,y=0;
while(true)
(
〃这里是你要编写的代码}}}
2.编写一个方法hex3705(),要求将一个以字符串(如有字母用大写)形式表示的十六进制数
转换十进制正整数,其中字符串为方法参数,正整数为返回值。
2010年全国自考Java语言程序设计模拟试卷(二)
一、单项选择题(本大题共10小题,每小题1分,共10分)
1.按运算符操作数的数目划分,运算符?:的类型是()
A.三目B.双目C.四目D.单目
2.Java代码g.drawLine(100,100,100,100)的功能是()
A.画一个圆B.画一条线段C.画一个点D代码是错误的
3.Java中对数据库查询结果集进行操作的对象是。
A.Connection对象B.Statement对象C.DriverManager对象D.ResultSet对象
4.有关在Java中定义实例方法和类方法的叙述正确的是()
4前者有public修饰,后者没有public修饰B.前者没有public修饰,后者有public修饰
C.前者有static修饰,后者没有static修饰D.前者没有static修饰,后者有static修饰
5.在Java语言中,一般不作为容器使用的是()4JDialogB.JFrameC.JTextAreaD.JPanel
6.Java语言支持网络通信的软件都在()包中。
A.B.C..ftpD..www
7.有Java语句如下,则说法正确的是()
int口a,b=newint[3];
A.此语句是错误的B.a.length的值为3C.b.length的值为3D.a.length和b.length的值都为3
8.能处理鼠标拖动和移动两种事件的接口是()
A.ActionListenerB.ItemListenerC.MouseListenerD.MouseMotionListener
9.Java语言的图像处理功能所在的类是()
A.PictureB.ImageC.pictureD.image
10.在Java语言中,支持网络通信的软件所在的包是()
A.java.utilB.C.java.ioD.ernet
二、填空题(本大题共10小题,每小题2分,共20分)
1.在Java的某个组件中绘图,一般应该为这个组件所属的子类重写—方法,在该重写的方法中进行绘图。
2.Java语言提供两个用于处理字符串的类:String类用于处理不可改变的字符串,一类用于处理可改变的字
符串。
3.在Java程序中,设置文本区对象textA能自动换行的方法是:—。
4.Java程序要采用缓冲式输入,需要先创建_对象,再利用这个对象创建BufferedReader对象。
5.以下代码的输出结果是_»System.oul.println(5>4==3<4);
6.在Java程序中有如下代码,则输出结果为一o
Integerx=23456;
System.out.println(x.toString().substring(2,4));
7.Date类在Java语言的—包中。
&Java语言提供一个Graphics2D类,这个类定义了几种方法用于添加或改变图形的状态属性,其中—属性
用来控制线条的宽度、笔形样式、线段连接方式或短划线图案。
9.设定文本框对象text使其不可编辑对应的代码是
10.由于sleep。方法可能产生_异常,应将sleep。方法写在try块中,并用catch块处理异常。
三、简答题(本大题共6小题,每小题3分,共18分)
I.请解释clipRect(intx,inty,intw,inth)方法的功能及参数含义。
2.请写出表示条件“x=2与y=3最多只有一个成立”的Java表达式。
3.一个网络关系数据库应用系统是一个三层次结构,请写出这三个层次结构。
4.标签(JLabel)是最简单的Swing组件,程序关于标签的基本内容有哪三个方面?
5.JDBC是Java程序与数据库连接的API,请写出它能做哪三件事?
6.程序中要使用文件对话框打开和保存文件,应该用哪个包中的哪个类来实现?
四、程序填空题(本大题共5小题,每空2分,共20分)
1.下面小应用程序启动后自动播放一个声音文件。
importjava.applet.*;
publicclassClass3001___{
publicvoidstart(){
AudioClipclip=___(getCodeBaseOJ2.wav");
clip.playO;}}
2.以下程序产生一个依赖myWin,标题为“我的对话框”的,布局管理器为FlowLayout的强制
型对话框。
importjava.awt.*;
importjavax.swing.*;
publicclassClass29041
(
publicstaticvoidmain(String[]args)
(
JFramemyWin=newJFrame();
JButtonbutton=newJButton(nbuttn);
myDialog.add(button);
myDialog.setBounds(300,300,200,200);
myDialog.setVisible(true);
3.以下程序产生一个确认对话框。
importjavax.swing.*;
publicclassClass2905
(
publicstaticvoidmain(String[]args)
{
JFramemyWin=newJFrame();
myWin.setBounds(l()OJ00,200,300);
myWin.setVisible(true);
myWin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
intresule=—.―(myWin,”确实要退出吗?退出确认”,0);
System.out.println(resule);
)
)
4.下面程序段是用Thread子类实现多线程(其中ThreadB与ThreadA非常相似,未给出)。
importjava.util.Date;
publicclassClass31O5
(
classThreadAextendsThread
{
publicvoidrun()
DatetimeNow;
for(inti=0;i<=5;i++)
timeNow=newDate();
System.out.println(,'A',+timeNow.toString());
try{sleep(2000);}
catch(InterruptedExceptione){}}}}
classThreadBextendsThread
publicClass3105()
ThreadAthreadA=___
ThreadBthreadB=newThreadB();
threadA.start();___
publicstaticvoidmain(String[]args)
newClass3105();
5.设计一个面板,该面板中有四个运动项目单选按钮和一个文本框。当某个选择项目被选中
时,在文本框中显示该选择项目。请完成程序。
importjava.applet.*;importjava.awt.*;importjavax.swing.*;
importjava.awt.event.*;
publicclassC2901extendsAppletimplementsItemListener{
_______
Strings口={“足球排球“,“篮球“,”乒乓球“};
JRadioButtonbox[]=newJRadioButton[4];
JTextFieldtext=newJTextField(20);
publicvoidinit()
(
setSize(400,70);
ButtonGroupgroup=newButtonGroupO;
for(inti=0;i<4;i++)
{
box[i]=newJRadioButton(sLi]);
group.add(box[i]);
pan.add(box[i]);
box[i].addltemListener(this);
)
add(pan);
add(text);text.setBackground(Color.cyan);
)
publicvoid___(ItemEvente)
(
text.setText("你选择了:"
+((JRadioButton)e.getItemSelectable()).getText());
五、程序分析题(本大题共5小题,每小题4分,共20分)
I.阅读下面程序,写出程序功能及当输入6和9时的运行情况。
importjava.awt.*;
importjavax.swing.*;
importjava.awt.event.*;
publicclassClass3402implementsAclionListener
(
JButtonbutt=newJButton("OK");
JTextFieldtextl=newJTextField(lO);
JTextFieldtext2=newJTextField(lO);
JTextFieldtext3=newJTextField(lO);
publicClass3402()
(
JFramemyWin=newJFrame("Class3402");
myWin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Containercon=myWin.getContentPane();
con.setLayout(newGridLayout(4,l));
con.add(text1);con.add(text2);
con.add(butt);con.add(text3);
butt.addActionListener(this);
myWin.pack();
myWin.setVisible(true);
)
publicvoidactionPerformed(ActionEvente)
(
inta=lnteger.parselnt(text1.getText());
intb=Integer.parse!nt(text2.getText());
inti;
for(i=1;i<=a*b;i++)
(
if(i%a==O&&i%b==O)break;
)
text3.setText(String.valueOf(i));
)
publicstaticvoidmain(String[]args)
(
newClass3402();
)
)
2.阅读下列程序,写出程序功能。
importjava.applet.*;importjava.awt.*;
importjava.awt.event.*;
publicclassClass36004extendsAppletimplementsKeyListener
(
intcount=0;
TextAreatext=newTextArea(5,20);
publicvoidinit()
(
add(text);
text.addKeyListener(this);
)
publicvoidkeyPressed(KeyEvente)
(
intt=e.getKeyCode();
if(t>=KeyEvent.VK_O&&t<=KeyEvent.VK_9)
(
text.append(”*");count++;
if(count%10==0)text.append("\nu);
)
else
text.selEditable(false);
)
publicvoidkeyTyped(KeyEvente){}
publicvoidkeyRe!eased(KeyEvente){}
)
3.阅读下列程序,写出程序功能。
importjava.awt.*;
importjavax.swing.*;
importjava.awt.event.*;
publicclassC3401implementsActionListener
(
JFramefrmFrame;
JButtonbtnUp,btnDown;
publicC3401()
(
frmFrame=newJFrame(“按钮应用”);
frmFrame.setLayout(newGridLayout(2,l));
btnUp=newJButton("上”);
btnUp.setActionCommand(MbtnUpM);
btnUp.addActionListener(this);
btnDown=newJButton("下”);
btnDown.setActionCommand("btnDown");
btnDown.addActionListener(this);
frmFrame.add(btnUp);
frmFrame.add(btnDown);
frmFrame.pack();
frmFrame.setVisible(true);
)
publicvoidactionPerformed(ActionEvente)
(
Stringcmd=e.getActionCommand();
if(cmd.equals(nbtnDown"))
if(btnUp.getBackground()==Color.BLUE)
btnUp.setBackground(Color.red);
else
btnUp.setBackground(Color.blue);
else
if(btnDown.getBackground()==Color.BLUE)
blnDown.setBackground(Color.red);
else
btnDown.setBackground(Color
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 少先队知识之解
- 大班心理健康教育活动
- 2024-2025学年下学期高三英语外研社版同步经典题精练之非谓语动词
- 感染性胃肠炎护理
- 红领巾心向党主题班队会
- 机械制造基础课件-金属切削加工
- 10kv高压倒闸操作
- 小学语文《半截蜡烛》解析
- 2019-2025年教师招聘之中学教师招聘高分通关题型题库附解析答案
- 统编版2024-2025学年语文三年级下册第八单元达标测评卷(含答案)
- 2025-2030垃圾发电产业市场深度分析及前景趋势与投资研究报告
- 物理-安徽省安庆市2024-2025学年高三下学期第二次模拟考试试卷(安庆二模)试题和答案
- 律师尽职调查工作方案
- 开关柜防凝露施工方案
- 2024年杭州市粮食收储有限公司招聘考试真题
- 新质生产力:学术研究与前沿探索
- 血液净化中心的感染预防与控制
- 5.1 人民代表大会:我国的国家权力机关 课件高中政治统编版必修三政治与法治
- 邢台2025年河北邢台市高层次人才引进1025人笔试历年参考题库附带答案详解
- 2025年统计学 1试题及答案
- 2025年起重工(技师)职业技能鉴定理论考试题库(含答案)
评论
0/150
提交评论