为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

04747Java语言程序设计语言(一)200810

2019-05-23 22页 doc 44KB 58阅读

用户头像

is_477730

暂无简介

举报
04747Java语言程序设计语言(一)200810全国2008年10月高等教育自学考试 Java 语言程序设计(一)试题 课程代码:04747 一、单项选择题(本大题共10小题,每小题1分,共10分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.下述字符组合不能作为Java程序标识符的是(   ) A.Aa12    B.大x C.y小    D.5x 2.以下程序代码的输出的结果是(   ) int x=53; System. out. println(1.0+x/2); A.27.0    B.27.5...
04747Java语言程序设计语言(一)200810
全国2008年10月高等教育自学考试 Java 语言程序(一) 课程代码:04747 一、单项选择题(本大题共10小题,每小题1分,共10分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.下述字符组合不能作为Java程序标识符的是(   ) A.Aa12    B.大x C.y小    D.5x 2.以下程序代码的输出的结果是(   ) int x=53; System. out. println(1.0+x/2); A.27.0    B.27.5 C.1.026    D.1.026.5 3.参照以下Java代码,以下四个叙述中最确切的是(   ) class A{ int x; static int y; void fac(String s){Syatem. out. println("字符串:"+s);} } A.x、y和s都是成员变量 B.x是实例变量、y是类变量、s是局部变量 C.x和y是实例变量、s是参数 D.x、y和s都是实例变量 4.需要分析字符串,并将字符串分解成可被独立使用的单词,可使用java. util包中的类是 (   ) A.String    B.StringBuffer C.StringTokenizer    D.stringTokenizer 5.要为程序的子窗口设定一个由字符串s指定的名字,可以采用的代码是(   ) A.JFrame(s)    B.window(s) C.new JFrame(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.FileInputStream类和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.类是对一组相同对象的描述,类概括了同类对象的共有性质:_________。 14.设有数组a和b的定义如下: int[]a={1,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与y=3有且只有一个成立”的Java表达式”。 22.如果类Student是类Person的子类,类Undergraduate是类Student的子类,请指出以下代码行中哪些是不合法的。 Person p1=new Student(); Person p2=new Undergraduate(); Student s1=new Person(); Student s2=new Undergraduate(); Undergraduate ug1=new Person(); Undergraduate ug2=new Student(); Object ob=new Student(); 23.请写出程序处理文本框输入结束事件(回车)添加监视器的方法,以及监视器类必须实现的接口方法。 24.请写出一条语句,能够绘制一条从点(20,30)开始,长为100像素的水平线段。设调用的对象是类型为Graphics的g。 25.某Java程序要使用文件输入输出流,请写出该程序所需要的import语句。 26.JDBC是Java程序与数据库连接的API,请写出JDBC能做的三件事情。 四、程序填空题(本大题共5小题,每空2分,共20分) 27.方法int maxDigit(int n)的功能是找出十进制整数n各位中最大的一位数字。例如,n=23765,该方法的返回值是7。 static int maxDigit(int n){ int c=0,d; while(n>0){ d=_______; if(d>c)  c=d; n/=10; } ________; } 28.某程序的界面包含一个文本区text1、一个文本框text2和一个按钮button。实现在文本区中输入整数序列后,点击按钮,程序响应按钮事件,累计文本区输入的整数序列,并将总和输出在文本框中。这里给出的是其中相应按钮事件的方法。 public void actionPerformed(ActionEvent e){ int sum; if(e.getSource()==button){ String s=text1.________;//获取text1中的信息 StringTokenizer fenxi=new StringTokenizer(s,",,,\n"); int n=fenxi.countTokens(); double a[]=new double[n]; for(int i=0;i<n;i++){ String temp=fenxi.nextToken(); a[i]=Double.valueOf(temp).doubleValue(); } sum=0; for(int i=0;i<n;i++){ __________; } text2.setText(""+sum);//刷新显示。 } } 29.以下是生成菜单项对象,以及菜单项选择事件处理方法的部分代码。要求当菜单项singingItem被选中时,在文本框text中输出“唱歌菜单项被选中!”的字样。 …… singingItem=new________("唱歌");//生成菜单项对象 …… public void actionPerformed(ActionEvent e){ if(e.getSource()==singingItem) text.setText(e.________()+ "菜单项被选中!"); } 30.某小应用程序实现幻灯片放映。小应用程序的init()方法将幻灯片读入数组中存储和注册鼠标监视器。程序运行时,单击鼠标,就顺序变换放映幻灯片的序号。这里给出的是其中的paint()方法和mousePressed()方法。 final int number=30;//假定幻灯片有30张 int count=0; Image[]pic=new Image[number]; public void paint(______gc){ if((pic[count])!=null) gc.drawImage(pic[count],10,10,pic[count].getWidth(this), pic[count].getHeight(this),this); } public void mousePressed(MouseEvent e){ count=(count+1)% number;//循环逐张显示 __________; } 31.以下定义的类shareDataManager用于管理多个线程共享数据data。一些线程要减少data,另一些线程要增加data。由于data不可以是负值,修改data的方法对这些线程来说不仅要互斥,还要同步。类提供一个方法modiData()供修改data的线程调用,该方法在data修改结束后,应通知其它等待进入这个方法的线程。 class ShareDataManager{ int data=0; ________void modiData(int delta){ if(delta>=0){ data+=delta; }else  { while(data  <delta){ try{System.out.println("发生等待!"); wait(); }catch(InterruptedException e){  } } data-=delta; } _________; } ShareDataManager(int ititData){data=initData;} } 五、程序分析题(本大题共5小题,每小题4分,共20分) 32.阅读下列程序,请写出该程序的输出结果。 import java.applet.*;import java.awt.*; class Point{ int x,y; Point(int xx,int yy){ x=xx;y=yy;} Point(Point p){x=p.x;y=p.y;  } void m(int dx,int dy){x+=dx;y+=dy;} } class Circle extends Point{ int 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 Applet{ Circle yuan; Point d; public void init()  {d=new Point(2,5);yuan=new Circle(d,10);} public void 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); } } 33.阅读下列程序,请写出该程序的功能。 import java. util.*; public class Class1{ public static void main(Srting args[]){ Date date1=new Date(); System. out. println (datel); String 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 ActionListener{ JTextField text1,text2; public void init(){ text1=new JTextField(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.awt.*;import java.awt.event.*; class MyScrollBar extends JscrollBar{ public MyScrollBar(int init, int len, int low, int high){ super(JScrollBar. HORIZONTAL, init,len,low,high); } } class MyWindow extends JFrame implements AdjustmentListener{ private JTextField  text; MyWindow(String s){ super(s); MyScrollBar myBar=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(AdjustmentEvent e){ MyScrollBar myBar=(MyScrollBar)e.getAdjustable(); text.setText(""+myBar.getValue()); } } public class Class1{ public static void main(String[]args){ MyWindow myWindow=new MyWindow("text5_4"); } } 36.小应用程序创建一个线程。例子使用容器类方法getGraphics()获得Graphics对象,给线程作为画笔使用。请写出该程序中这个线程的工作内容。 import java.applet.*;import java.awt.*; public class Class1 extends java.applet.Applet implements Runnable{ Thread 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 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); try{redBall.sleep(500);} catch(InterruptedException e){} redPen.setColor(Color.gray); redPen.fillOval(100+rx,100+ry,10,10); } } } } 六、程序设计题(本大题共2小题,每小题6分,共12分) 37.编写一个方法halfArray(),要求该方法有一个元素类型为int的数组参数,方法返回一个新数组,新数组的长度与参数数组的长度相同,而新数组元素的值是参数数组各元素的一半。 38.一个Java小应用程序,界面有三个文本框和两个按钮,前两个文本框用于输入整数,第三个文本框用于输出结果。两个按钮分别表示加和减运算。当前两个文本框输入整数后,点击相应按钮,程序就将计算结果输出在第三个文本框中。以下是程序的大部分,其中监视按钮事件的方法未给出,试编写处理按钮事件的方法。 注:这里是给定部分的程序,你要编写的是actionPerformed(ActionEvent e)方法。 import java.applet.*;import javax.swing.*; import java.awt.*;  import java.awt.event.*; class Panel1 extends JPanel{ JTextField text1, text2, text3;JButton addButton,subButton; Panel1(){ text1=new JTextField(10);text2=new JTextField(10); text3=new JTextField(10);setLayout(new GridLayout(5,1)); addButton=new JButton("加");subButton=new JButton("减"); add(text1);  add(text2); add(text3);  add(addButton);  add(subButton); } } public class Classl extends Applet implements ActionListener{ Pane1 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){ //这里是你要编写的代码
/
本文档为【04747Java语言程序设计语言(一)200810】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索