《自学考试真题:全国09-01高等教育自学考试Java,语言程序设计(一)试题.docx》由会员分享,可在线阅读,更多相关《自学考试真题:全国09-01高等教育自学考试Java,语言程序设计(一)试题.docx(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、自学考试真题:全国09-01高等教育自学考试Java,语言程序设计(一)试题2009年1月高等教化自学考试全国统一命题考试 Java语言程序设计(一)试题 课程代码:04747 一、单项选择题(本大题共10小题,每小题1分,共10分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。1.下列字符组合不能作为Java整型常量的是( ) A.078 B.0x3ACB C.5000 D.0x3ABC 2.以下程序代码的输出结果是( ) int x = 10; while (x > 7) System.out.print(“*“); x-
2、; A.* B.* C.* D.* 3.设类U声明,及对象u和v的定义如下: class U int x, int y; U(int a, int b)x= a; y = b; void copy(U a) x = a.x; y = a.y; U u = new U(1, 2), v = new U(2, 3); 在以下供选择的代码中,可能引起系统回收内存的是( ) A.u.x=v.y;u.y=v.x; B.u=v; C.u.copy(v); D.v.copy(u); 4.设有以下代码: String s l=“123“; String s2=“123“; String s3=new Stri
3、ng(“123“); 则表达式s1=s2和s1=s3的值分别是( ) A.true,true B.false,false C.true,false D.false,true 5.以下关于AWT与Swing之间关系的叙述,正确的是( ) A.Swing是AWT的提高和扩展 B.在写GUI程序时,AWT和Swing不能同时运用 C.AWT和Swing在不同的平台上都有相同的表示 D.AWT中的类是从Swing继承的 6.在以下Swing组件中,能为它指定布局管理器的是( ) A.JScrollBar对象 B.JMenuBar对象 C.JComboBox对象 D.JDialog对象 7.一般的绘图程
4、序要定义一个JPanel子类。在JPanel子类中还要重定义一个方法,在这个方法中调用绘图方法,绘制各种图形。要重定义的方法是( ) A.paint() B.paintComponent() C.repaint() D.update() 8.用Runnable接口实现多线程的主要工作是( ) A.声明实现Runnable接口的类,在类内实现run()方法,让线程调用start()方法。B.声明实现Runnable接口的类,在类内实现run()方法,在类内声明线程对象,在init()方法中创建新线程,启动新线程。C.声明实现Runnable接口的类,在类内实现run()方法,在类内声明线程对象,
5、在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类。该类的作
6、用是( ) A.存储查询结果 B.处理与数据库的连接 C.在指定的连接中处理SQL语句 D.处理驱动程序的加载和建立数据库连接 二、填空题(本大题共10小题,每小题2分,共20分) 请在每小题的空格中填上正确答案。错填、不填均无分。11.Java程序的字节码文件的扩展名是_。12.构造一个Java表达式:yx>5,并且x!=0。这个表达式是_。13.在类声明之前用_修饰,声明类是不能被再继承的类,即它不能再有子类。14.设有字符串定义: String s=“ABCDABCD“; 则表达式s.indexOf(“B“)的值是_。15.在实现接口ActionListener的方法actionP
7、erformed()中,常用的有两个获得事务源的方法,它们是getActionCommand()和_。16.运用单选按钮的方法是将一些单选按钮用_对象分组,使同一组内的单选按钮只允许一个被选中。17.在Java语言中,用类Font对象设置字型。假如要设置的字型是:细明体、正常风格(Font.PLAIN),12磅字号,构造这样要求的Font对象fnA的代码是_。18.线程从堵塞状态复原到就绪状态,有三种途径:自动复原、用resume()方法复原和用_方法复原。19.为一般的8位字节流文件读和写操作供应支持的类是_。20.Connection类是java.sql包中用于处理与数据库连接的类。Con
8、nection对象是用来表示_的对象,Java程序对数据库的操作都在这种对象上进行。三、简答题(本大题共6小题,每小题3分,共18分) 21.请写出表示year年是闰年的Java表达式。闰年的条件是:每4年一个闰年,但每100年少一个闰年,每400年又增加一个闰年。22.请写出在类的方法的定义之前,加上修饰字public、private的区分。23.请写出将文本区text放置于滚动面板jsp,并将滚动面板jsp添加到JFrame窗口myFrame的Java语句。24.要用Graphics2D类的方法画一个图形,首先要把参数对象g强制转换成Graphics2D对象;然后,用图形类供应的静态方法D
9、ouble()创建一个图形对象;最终,以图形对象为参数调用Graphics2D对象的draw()方法绘制这个图形。请写出用这样的方法绘制一条线段的程序段,线段的两个端点分别是(10.0,10.0)和(30.0,30.0)。25.请写出字符流数据与字节流数据的区分。26.请写出URLConnection类在编写Java网络应用程序中的作用。四、程序填空题(本大题共5小题,每小题4分,共20分) 27.方法int sigmaDigit(int n)的功能是求出十进制整数n的各位数字之和。例如,n=1234,该方法的返回值是10。 static int sigmaDigit( int n ) int
10、 sum = 0, d; while( n > 0 ) d=n% 10; _; n/= 10; _; 28.以下小应用程序能响应鼠标按动的事务,当鼠标在正文区的某个位置被点击时,就在该位置显示一个记号“”,程序限制最多保留最新20个位置。 import java.applet.*; import java.awt.*; import javax.swing.*; import java.awt.event.*; class MyPanel extends JPanel public void print(Graphics g, int x, int y)( g.setColor(Colo
11、r.red); g.drawLine(x-5, y-5, x+5, y+5); g.drawLine(x+5, y-5, x-5, y+5); class MyWindow extends JFrame implements MouseListener final int MaxMarks = 20; int currentMarks = 0, markCount = 0; Point marks = new PointMaxMarks; MyPanel panel; MyWindow() this.setLocation(100, 100); this.setSize(300, 300);
12、Container con = this.getContentPane(); panel = new MyPanel(); con.add(panel); _(this); this.setVisible(true); public void paint(Graphics g) int i; g.clearRect(0,0, this.getWidth(), this.getHeight(); for(i =0;i < markCount; i+) _(g, marksi.x, marksi.y); public void mousePressed(MouseEvent e) publi
13、c void mouseReleased(MouseEvent e) public void mouseEntered(MouseEvent e) public void mouseExited(MouseEvent e) public void mouseClicked(MouseEvent e) markscurrentMarks = new Point(e.getX(), e.getY(); if(markCount < MaxMarks)markCount+; currentMarks = (currentMarks+ 1)%MaxMarks; repaint(); public
14、 class Class1 extends Applet public void init() MyWindow myWndow = new MyWindow(); 29.这是一个处理选择项目事务的子窗口类。窗口中有2个选择框,当选中某个选择框时,文本框将显示选择框对应的信息。class MyWindow extends JFrame implements ItemListener JTextField text; JCheckBox boxl, box2; MyWindow(String s) _; Container con = this.getContentPane(); this.se
15、tLocation(100, 100); this.setSize(400, 200); text = new JTextField(10); box1 = new JCheckBox(“A计算机“, false); box2 = new JCheckBox(“B计算机“, false); con.setLayout(new GridLayout(3, 2); con.add( new JLabel(“计算机产品介绍“, JLabel.CENTER); add(new JLabel(“计算机2选1“, JLabel.CENTER); con.add(box1); con.add(box2);
16、con.add(text); box1 .addItemListener(this); box2.addItemListener(this); this.setVisible(true); this.pack(); public void itemStateChanged( _e) if(e.getItemSelectable() = box1) text. setText(“A公司生产“); else if(e.getItemSelectable() = box2) text. setText(“B公司生产“); 30.这是一个播放幻灯片的小应用程序中的paint()方法。设幻灯片已由小应用
17、程序的init()方法装入内存,并存放于myImage数组中,幻灯片的张数放于变量num中,paint()方法要播放的幻灯片号是currentImage。int currentImage = 0; final int num = 30; Image myImage = new _ num; public void paint(Graphics g) if (mylmagecurrentImage) != null) g. _ (myImagecurrentImage, 10, 10, myImage currentImage.getWidth(this), myImage currentIma
18、ge.getHeight(this), this); 31.以下定义的类ShareData用于管理多个线程共享数据val。为了保证对共享数据val修改的完整性,线程对val的操作须要互斥,类ShareData中定义的方法modiData()就是供共享val的线程修改val的方法。程序共有20个线程共享val,有些削减val,有些增加val。public class Class1 public static void main(String args) ShareData mrc = new ShareData(50); Thread aThreadArray = new Thread20; S
19、ystem.out.println(“t刚起先的值是:“+mrc.getVal(); System.out.println(“t多个线程正在工作,请稍等!“); for(int i = 0; i < 20; i+) int d = i % 2 = 0 ? 50 : -30; aThreadArrayi = new Thread(new MyMultiThreadClass(mrc, d); aThreadArrayi.start(); WhileLoop :/等待全部线程结束 while(true) for(int i = 0; i < 20; i+) if(aThreadArra
20、yi. _ ()continue WhileLoop; break; System.out.println(“t最终的结果是: “+mrc.getVal(); class MyMultiThreadClass implements Runnable ShareData UseInteger; int delta; MyMultiThreadClass(ShareData mrc, int d) UseInteger = mrc; delta = d; public void run() for(int i = 0; i < 1000; i+) UseInteger.modiData(de
21、lta); try Thread.sleep(10) ;/做一些其他的处理 catch(InterruptedException e) class ShareData int val; ShareData(int initValue)val = initValue; int getVal()return val; private void putVal(int v)val = v; _ void modiData(int d) putVal(getVal() + d); 五、程序分析题(本大题共5小题,每小题4分,共20分) 32.阅读下列程序,请写出该程序的输出结果。class A int
22、x, y; A(int a, int b) x= a; y= b; public class sample public static void main(String args) A pl, p2; p2 = new A(12, 15); p1 = p2; p2.x+; System.out.println(“p1.x=“ + p1 .x); 33.阅读下列程序,请写出调用pascal(4)的输出结果。static void pascal(int n) int pas; pas = new intn; pas0 = 1; System.out.println(pas0); for (int
23、i = 2; i <= n; i+) /* 由存储在pas中的原来内容生成新内容*/ pasi - l =1; for (int j = i- 2;j > 0; j-) pasj = pasj + pasj - 1 ; for (int j = 0; j < i; j+) System.out.print(pasj +“ “); System.out.println(); 34.阅读下列程序,请用示意图画出程序运行时呈现的界面。import java.applet.*; import java.awt *; import javax.swing.*; class MyPane
24、l extends JPanel JButton button; JLabel label; MyPanel(String s1, String s2) this.setLayout(new GridLayout(2, 2); button = new JButton(s1); label = new JLabel(s2, JLabel.CENTER); add(button); add(label); add(new JLabel(); public class Class1 public static void main(String args) JFrame mw = new JFram
25、e(“一个示意窗口“); mw.setSize(400, 250); Container con = mw.getContentPane(); con.setLayout(new BorderLayout(); MyPanel panel1, panel2; panel1 = new MyPanel(“按钮1“ ,“标签1“); panel2 = new MyPanel(“按钮2“, “标签2“); JButton button = new JButton(“起先按钮“); con.add(panel1, “North“);con.add(panel2, “South“); con.add(b
26、utton, “Center“); mw.setVisible(true); 35.阅读下列程序,请回答以下问题: (1)程序要求在文本框text中输入的内容是什么? (2)协助文本区showArea组件的作用是什么? (3)如何使程序起先下载网络文本文件? (4)程序采纳什么输入方式下载网络文件? import .*; import java.awt.*; import java.awt.event.*; import,java.io.*; import javax.swing.*; public class Class1 public static void main(String arg
27、s) . new ConnectNet(“读取网络文本文件示意程序“); class ConnectNet extends JFrame implements ActionListener JTextField text=new JTextField(30); JTextArea showArea=new JTextArea(); JButton b=new JButton(“下载“);JPanel p=new JPanel(); ConnectNet(String s) super(s);Container con=this.getContentPane(); p.add(text);p.a
28、dd(b); JScrollPane jsp=new JScrollPane(showArea); b.addActionListener(this); con.add(p,“North“); con.add(jsp,“Center“); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setSize(500,400);setVisible(true); public void actionPerformed(ActionEvent e) String urlName=text.getText(); try URL url=new URL(url
29、Name);/由网址创建URL对象 URLConnection tc=url.openConnection();/获得URLConnection对象 tc.connect();/设置网络连接 InputStreamReader in=new InputStreamReader(tc.getInputStream(); BufferedReader dis=new BufferedReader(in); String inLine; while(inLine=dis.readLine()!=null)showArea.append(inLine+“n“); dis.close(); catch(
30、MalformedURLException e2)e2.printStackTrace(); catch(IOException e3) e3.printStackTrace(); 36.阅读下列程序,请写出该程序的功能。import java.applet.*; import java.awt.*; public class Class1 extends java.applet.Applet implements Runnable Thread myThread = null; public void start() setSize(500, 400); if (myThread = nul
31、l) myThread = new Thread(this); myThread.start(); public void run() while (myThread != null) try myThread.sleep(500); catch (InterruptedException e) repaint(); public void paint(Graphics g) int x = (int)(400*Math.random(); int y = (int)(300*Math.random(); g.setColor(Color.red); g.fillOval(x,y, 10, 1
32、0); 六、程序设计题(本大题共2小题,每小题6分,共12分) 37.编写数组复制方法。该方法从已知平衡的两维数组的左下角复制出一个非平衡的三角二维数组。设复制数组方法的模型为: public static double leftDownConer(doubleanArray) 38.设计实现以下形式布局的Java小应用程序。 注1:其中空白格是文本框,用于输入对应的内容。 注2:这里给出的是程序的一部分,你要编写的是方法MyWindow(String s)。 import java.applet.*; import javax.swing.*; import java.awt.*; class MyWindow extends JFrame JTextField textl,text2,text3,text4; public MyWindow(String s)/这个方法是你要编写的 public class Class1 extends Applet MyWindow myWindow; public void init() myWindow=new MyWindow(“一个小应用程序“);