《_10_Java语言程序设计(一)(10页).doc》由会员分享,可在线阅读,更多相关《_10_Java语言程序设计(一)(10页).doc(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-_10_Java语言程序设计(一)-第 10 页“全国2008年10月高等教育自学考试Java 语言程序设计(一)试题课程代码:04747一、单项选择题(本大题共10小题,每小题1分,共10分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。1下述字符组合不能作为Java程序标识符的是(B)AAa12B大xCy小D5x2以下程序代码的输出的结果是(A)int x=53;System. out. println(1.0+x/2);A27.0B27.5C1.026D1.026.53参照以下Java代码,以下四个叙述中最确切的是(B)cla
2、ss Aint x; static int y;void fac(String s)Syatem. out. println(字符串:+s);Ax、y和s都是成员变量Bx是实例变量、y是类变量、s是局部变量Cx和y是实例变量、s是参数Dx、y和s都是实例变量4需要分析字符串,并将字符串分解成可被独立使用的单词,可使用java. util包中的类是(C)AStringBStringBufferCStringTokenizerDstringTokenizer5要为程序的子窗口设定一个由字符串s指定的名字,可以采用的代码是(D)AJFrame(s)Bwindow(s)Cnew JFrame(s)Ds
3、uper(s)6以下关于菜单的叙述中,正确的是(A)A菜单分三级定义,最高一级的是菜单条,菜单条中放菜单,菜单中放菜单项B菜单分三级定义,最高一级的是菜单,菜单中放菜单条,菜单条中放菜单项C菜单分两级定义,最高一级的是菜单,菜单中放菜单项D菜单分两级定义,最高一级的是菜单条,菜单条中放菜单项7以下所述内容全部是字型要素的是(B)A字体、字形和大小B字体、风格和字号C字形、风格和字号D字形、颜色和字号8用Thread子类实现多线程的步骤顺序是(D)A声明Thread类的子类,创建Thread子类的实例,让线程调用start()方法B声明Thread类的子类,在子类中重新定义run()方法,创建T
4、hread子类的实例C创建Thread子类的实例,让线程调用start()方法D声明Thread类的子类,在子类中重新定义run()方法,创建Thread子类的实例,让线程调用start()方法9为16位Unicode字符流提供读和写操作支持的类分别是(C)AFileInputStream类和FileOutputStream类字节流BInputStream类和OutputStream类CFileReader类和FileWriter类字符流DFile_Reader类和File_Writer类10能利用对象提供的方法获得流对象和实现网络连接的是(A)AURLConnection对象BURL对象CI
5、netAddress对象保存和域名DTCP/IP对象二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。错填、不填均无分。11.一个小应用程序必须定义成一个_Applet的子类_。12.用条件运算符构造一个表达式:goal等于10时,表达式的值为“对了!”,否则,表达式的值为“错了!”。这个表达式是_goal=10?”对了”:“错了!”;_。13.类是对一组相同对象的描述,类概括了同类对象的共有性质:_属性和方法_。14.设有数组a和b的定义如下:inta=1,2,3;intb=4,5,6执行以下代码“a=b;”,除了完成赋值操作之外,引起系统额外要做的工作是回
6、收内存_。15. _CardLayout_布局使容器的多个组件拥有同一个显示空间,某一时刻只能显示一个组件。16.Java语言为处理鼠标事件提供两个接口:_MouseListener_接口和MouseMotionListener接口。17.某个绘图方法设置成“异或模式”绘图,并用黄色作为异或模式设定的绘图颜色。如果当时背景色为红色,并用红色绘制线段,则线段的实际颜色是_黄色_。18.程序员用Java语言编写多线程应用程序,程序员能控制的关键性工作有两个方面:一是编写线程的_run()_方法;二是建立线程实例。19.BufferedWriter类是提供缓冲式输出的类。程序需要先创建_fillWr
7、iter_对象,再利用这个对象创建BufferedWriter对象。20.在Java语言中,客户端使用的套接字类是_socket_。三、简答题(本大题共6小题,每小题3分,共18分)21.请写出表示条件“x=2与y=3有且只有一个成立”的Java表达式”。()!()22.如果类Student是类Person的子类,类Undergraduate是类Student的子类,请指出以下代码行中哪些是不合法的。Person p1=new Student();和法Person p2=new Undergraduate();和法Student s1=new Person();非法Student s2=new
8、 Undergraduate();和法Undergraduate ug1=new Person();非法Undergraduate ug2=new Student();非法Object ob=new Student();和法解析本题考核知识点是类之间的is-a关系。在两个相关的类之间,可能会有is-a和has-a关系。若类A是继承扩展类B,则子类A和超类B之间是is-a关系,即类A是一个类B。这种情况下,A类对象一定可以是B类类型,因为B类的所有成员A类也有。也就是子类对象可以是超类类型。语句Bb=newA()是正确的,Aa=newB()是错误的。23.请写出程序处理文本框输入结束事件(回车)
9、添加监视器的方法,以及监视器类必须实现的接口方法。addActionListener();public void actionPerformed(ActionEven e);24.请写出一条语句,能够绘制一条从点(20,30)开始,长为100像素的水平线段。设调用的对象是类型为Graphics的g。drawLine(20,30,120,30);25.某Java程序要使用文件输入输出流,请写出该程序所需要的import语句。Import java.IO*;26.JDBC是Java程序与数据库连接的API,请写出JDBC能做的三件事情。和数据库建立连接,将SQL语句发送给数据库,接收数据库返回的结
10、果四、程序填空题(本大题共5小题,每空2分,共20分)27.方法int maxDigit(int n)的功能是找出十进制整数n各位中最大的一位数字。例如,n=23765,该方法的返回值是7。static int maxDigit(int n)int c=0,d;while(n0)d=_;if(dc) c=d;n/=10;_return c_;思路:c=0,假设n=237650,d=n%10=5 ;if(dc) 所以if(50) c=d=5. 由 n/=10推出n=23760, d=n%10=6,if(dc) 所以if(65) ,c=d=6. 由 n/=10推出n=2370, d=n%10=7,
11、if(dc) 所以if(76) ,c=d=7. 由 n/=10推出n=230, d=n%10=3if(dc) 所以if(3!7) ,c=d不执行. 继续执行n/=10 得到n=20 d=n%10=2,if(dc) 所以if(2!7) ,c=d不执行.执行完毕28.某程序的界面包含一个文本区text1、一个文本框text2和一个按钮button。实现在文本区中输入整数序列后,点击按钮,程序响应按钮事件,累计文本区输入的整数序列,并将总和输出在文本框中。这里给出的是其中相应按钮事件的方法。public void actionPerformed(ActionEvent e)int sum;if(e.
12、getSource()=button)String s=text1._getText()_;/获取text1中的信息StringTokenizer fenxi=new StringTokenizer(s,n);int n=fenxi.countTokens();double a=new doublen;for(int i=0;in;i+)String temp=fenxi.nextToken();ai=Double.valueOf(temp).doubleValue();sum=0;for(int i=0;in;i+)_sum+=ai_ _;text2.setText(+sum);/刷新显示。
13、29.以下是生成菜单项对象,以及菜单项选择事件处理方法的部分代码。要求当菜单项singingItem被选中时,在文本框text中输出“唱歌菜单项被选中!”的字样。singingItem=new_ JMenuItem _(唱歌);/生成菜单项对象public void actionPerformed(ActionEvent e)if(e.getSource()=singingItem)text.setText(e._getActionCommand_()+ 菜单项被选中!);30.某小应用程序实现幻灯片放映。小应用程序的init()方法将幻灯片读入数组中存储和注册鼠标监视器。程序运行时,单击鼠标
14、,就顺序变换放映幻灯片的序号。这里给出的是其中的paint()方法和mousePressed()方法。final int number=30;/假定幻灯片有30张int count=0;Imagepic=new Imagenumber;public void paint(Graphics gc)if(piccount)!=null)gc.drawImage(piccount,10,10,piccount.getWidth(this),piccount.getHeight(this),this);public void mousePressed(MouseEvent e)count=(count
15、+1)% number;/循环逐张显示_repain()_;31.以下定义的类shareDataManager用于管理多个线程共享数据data。一些线程要减少data,另一些线程要增加data。由于data不可以是负值,修改data的方法对这些线程来说不仅要互斥,还要同步。类提供一个方法modiData()供修改data的线程调用,该方法在data修改结束后,应通知其它等待进入这个方法的线程。class ShareDataManagerint data=0;_synchronized_void modiData(int delta)if(delta=0)data+=delta;else whi
16、le(data delta)trySystem.out.println(发生等待!);wait();catch(InterruptedException e) data-=delta;_notifyl()_;ShareDataManager(int ititData)data=initData;五、程序分析题(本大题共5小题,每小题4分,共20分)32.阅读下列程序,请写出该程序的输出结果。import java.applet.*;import java.awt.*;class Pointint x,y;Point(int xx,int yy) x=xx;y=yy;Point(Point p)
17、x=p.x;y=p.y; void m(int dx,int dy)x+=dx;y+=dy;class Circle extends Pointint r;Circle(Point p, int rr) super(p); r=rr; float c() return 3.14f*2.0f*r; float a() return 3.14f*r*r;public class sample extends AppletCircle yuan; Point d;public void init() d=new Point(2,5);yuan=new Circle(d,10);public void
18、 paint(Graphics g)g.drawString(yuan Circle+(int)(yuan.c()*100.0)/100.0,5,20);g.drawString(yuan Area+(int)(yuan.a()*100.0)/100.0,5,40);yuan Circleyuan Area33阅读下列程序,请写出该程序的功能。import java. util.*;public class Class1public static void main(Srting args)Date date1=new Date();System. out. println (datel);S
19、tring t=datel.toString();int endPos=t.indexOf(C);t=t.substring(11,endPos);System. out println(t);34.阅读下列程序,请写出该程序的功能。import java.applet.*;import javax.swing.*;import java.awt.event.*;public class Class l extends Applet implements ActionListenerJTextField text1,text2;public void init()text1=new JText
20、Field(10); text2=new JTextField(10);setSize(200,100); add(text1); add(text2);text1.addActionListener(this);public void actionPerformed(Action Event e)long n;if(e.getSource()=text1)n=Long.parseLong(text1.getText();text2.setText(String.valueOf(n*n);35.阅读以下程序,请写出该程序的功能。import javax.swing.*; import java
21、.awt.*;import java.awt.event.*;class MyScrollBar extends JscrollBarpublic MyScrollBar(int init, int len, int low, int high)super(JScrollBar. HORIZONTAL, init,len,low,high);class MyWindow extends JFrame implements AdjustmentListenerprivate JTextField text;MyWindow(String s)super(s);MyScrollBar myBar=
22、new MyScrollBar(10,10,0,255);Container con=this. getContentPane();con. setLayout(new GridLayout(2,1);this. setSize(200,100);this. setLocation(100,100);myBar.addAdjustmentListener(this);text=new JTextField(,20);con. add(text);con.add(myBar);this.setVisible(true);public void adjustmentValueChanged(Adj
23、ustmentEvent e)MyScrollBar myBar=(MyScrollBar)e.getAdjustable();text.setText(+myBar.getValue();public class Class1public static void main(Stringargs)MyWindow myWindow=new MyWindow(text5_4);36.小应用程序创建一个线程。例子使用容器类方法getGraphics()获得Graphics对象,给线程作为画笔使用。请写出该程序中这个线程的工作内容。import java.applet.*;import java.a
24、wt.*;public class Class1 extends java.applet.Applet implements RunnableThread redBall;Graphics redPen;int rx=0,ry=0;public void init()setSize(250,200);redBall =new Thread(this);redPen=getGraphics();redPen. setColor(Color.red);setBackground(Color.gray);public void start() redBall.start(); public void
25、 run()while(true)if(Thread.currentThread()=redBall)rx=(int)(80*Math.random();ry=(int)(80*Math.random();red Pen.setColor(Color.red);red Pen.fillOval(100+rx,100+ry,10,10);tryredBall.sleep(500);catch(InterruptedException e)redPen.setColor(Color.gray);redPen.fillOval(100+rx,100+ry,10,10);六、程序设计题(本大题共2小题
26、,每小题6分,共12分)37编写一个方法halfArray(),要求该方法有一个元素类型为int的数组参数,方法返回一个新数组,新数组的长度与参数数组的长度相同,而新数组元素的值是参数数组各元素的一半。int halfArry(int a)int b=new int;38一个Java小应用程序,界面有三个文本框和两个按钮,前两个文本框用于输入整数,第三个文本框用于输出结果。两个按钮分别表示加和减运算。当前两个文本框输入整数后,点击相应按钮,程序就将计算结果输出在第三个文本框中。以下是程序的大部分,其中监视按钮事件的方法未给出,试编写处理按钮事件的方法。注:这里是给定部分的程序,你要编写的是ac
27、tionPerformed(ActionEvent e)方法。import java.applet.*;import javax.swing.*;import java.awt.*; import java.awt.event.*;class Panel1 extends JPanelJTextField text1, text2, text3;JButton addButton,subButton;Panel1()text1=new JTextField(10);text2=new JTextField(10);text3=new JTextField(10);setLayout(new G
28、ridLayout(5,1);addButton=new JButton(加);subButton=new JButton(减);add(text1); add(text2);add(text3); add(addButton); add(subButton);public class Classl extends Applet implements ActionListenerPane1 panel;public void init()setSize(100,200); panel=new Panel1();add(panel);(panel.addButton).addActionListener(this);(panel.subButton). addActionListener(this);public void actionPerformed(ActionEvent e)/这里是你要编写的代码