资源描述
更多优质自考资料尽在百度贴吧自考乐园俱乐部(http:/tieba.baidu.com/club/5346389)欢迎加入.欢迎交流.止不住的惊喜等着你.2010年全国自考Java语言程序设计(一)模拟试卷(七) 及答案一、单项选择题(本大题共10小题,每小题1分,共10分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。1.Java中实现输入/输出操作的类库在() (1分)A:java.io包中B:java.input包中C:java.output包中D:java.lang.io包中2.以下程序代码的输出结果是() System.out.println(100/8); (1分)A:12.5B:12C:4D:03.在Java程序中声明一个数组,错误的是() (1分)A:int a;B:int a;C:float a10;D:float a ;4.在Java程序中有定义:int x=new int45;则x.length和x3.length的值分别是() (1分)A:4和5B:5和4C:4和3D:5和35.下列关于线程的说法正确的是() (1分)A:一个线程被创建,它就立即开始运行B:使用start()方法可以使一个线程立即开始运行C:当一个线程因为抢先机制而停止运行时,它被放在可运行队列的前面D:一个正在运行的线程可能因为某些情况而进入阻塞状态6.下列属于合法的Java标识符是() (1分)A:_catB:5booksC:+staticD:-3.141597.在Java语言中,把按钮button的标题文字设置为“第一个按钮”的方法是() (1分)A:button.SetText(第一个按钮)B:button.GetText(第一个按钮)C:button.SetLabel(第一个按钮)D:button.GetLabel(第一个按钮)8.Java组件可以使用Toolkit提供的静态方法获得一个缺省的Toolkit对象,并用它加载图像,这个静态方法是() (1分)A:getImage(String name)B:getImage(URL url)C:getDefaultToolkit()D:getToolkit()9.定义一个使用接口Java.lang.Runnable的类,必须要实现的方法是() (1分)A:start()B:run()C:init()D:paint()10.以下是创建File对象的代码,错误的是() (1分)A:File f1=new File(/mydir/myfile.txt);B:File f2=new File(/mydir,myfile.txt);C:File f3=new File(mydirmyfile.txt);D:File f4=new File(mydirmyfile.txt);二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。错填、不填均无分。1.如果有一个类MyFrame是JFrame的子类,能够被不同包中的类所使用,请写出该类的声明头部: 。 (2分)2.在Java程序中,要创建一个10行20列的文本区,可以采用的构造方法是。 (2分)3.布局是把容器划分成若干行和列的网格状,行数和列数由程序控制,组件放在网格的小格子中。 (2分)4.在Java语言中,位异或运算的运算符为。 (2分)5.端口号与IP地址的组合称为。 (2分)6.Java小程序要播放一个与程序文件在一起的名为mymusic.au的音乐文件,小程序中应用先创建AudioClip对象,若对象名为myClip,则创建对象myClip的代码为。 (2分)7.在Java语言中,定义一个接口,在接口名前面需要关键字。 (2分)8.Java程序实现多线程应用的途径之一是:定义一个实现接口的类,并在类中提供该接口的所有方法。 (2分)9.以下程序代码的输出结果为:。 String s1=abc,s2=ab,s3; s3=s2.concat(c); System.out.println(s1=s3); (2分)10.采用缓冲式输入时,可以对BufferedReader对象使用方法按行读取文件中的内容。 (2分)三、程序填空题(本大题共5小题,每空2分,共20分)1.下列应用程序,产生两个组合框,一个可以选择月份,一个可以选择20002009年之间的年份。 import javax.swing.*; public class Class31002 extends JFrame JComboBox monthBox=new JComboBox(); public Class31002() super(Expiration Date); setSize(240,90); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel pane=new JPanel(); JLabel exp=new JLabel(Expiration Date:); for (int i=0;i13;i+) monthBox.addItem( +i); for(int i=2000;i2010;i+) yearBox.addItem( +i); pane.add(exp); pane.add(monthBox); setContentPane(pane); public static void main(Stringarg) new Class31002().setVisible(true); (2分)2.求出所有满足下列条件的二位数:将此二位数的个位数字与十位数字进行交换,可得到一个新的数,要求新数与原数之和小于100。 int i,j,x,y; for(i=10;i100;i+) j=10*x+y; if(i+j160)i=1; g.; g.fillRect(i,10,20,20); g.drawString(我正在学习Java绘图!,1,25); tryThread.sleep(100); catch(InterruptedException e) repaint(); (2分)5.以下小应用程序运行后显示一幅图片。 import java.applet.*; import java.awt.*; public class Class3005 extends Applet Image myImg; public void start() myImg=(getCodeBase(),myImg.jpg); public void paint(Graphics g) g.(myImg,0,0,this); (2分)四、程序分析题(本大题共5小题,每小题4分,共20分)1.阅读下面程序,写出程序运行结果。 class A B obj; A() obj=new B(); obj.print(); System.out.println(AAA); class B public void print() System.out.println(BBB); public class Class3202 public static void main(String arg) A obj=new A(); (4分)2.阅读下列程序,写出程序运行结果。 interface Computable final int MAX=100; int f(int x); int g(int x,int y); class Aa implements Computable int no; public int f(int x) int sum=0; for(int i=1;i=x;i+)sum=sum+i; return sum; public int g(int x,int y)return x*y; class Bb implements Computable int no; public int f(int x) int sum=0; for(int i=1;i=x;i+)sum=sum+i*i; return sum; public int g(int x,int y)return x+y; public class Class3204 public static void main(String args) Aa li;Bb tom; li=new Aa();li.no=851898; tom=new Bb();tom.no=951899; System.out.print(Li的编号+li.no+,+li.MAX); System.out.println(,+li.f(3)+,+li.g(3,4); System.out.print(Tom的编号+tom.no+,+tom.MAX); System.out.print(,+tom.f(3)+,+tom.g(3,4); (4分)3.阅读下列程序,写出程序运行结果。 import java.util.*; public class Class3304 public static void main(String args) String s1=public,static?void,main; StringTokenizer pas1=new StringTokenizer(s1,? ,); int n1=pas1.countTokens(); System.out.println(n1); while(pas1.hasMoreTokens() String s=pas1.nextToken(); System.out.println(s); (4分)4.阅读下列程序,写出程序功能。 import java.awt.*; import javax.swing.*; import java.awt.event.*; public class Class3404 implements ActionListener JButton butt=new JButton3; public void actionPerformed(ActionEvent e) if (e.getActionCommand().equals(One) butt1.setEnabled(false); if(e.getActionCommand().equals(Three) butt1.setEnabled(true); public Class3404() JFrame my=new JFrame(Class3404); Container con=my.getContentPane(); con.setBackground(Color.red); con.setLayout(new FlowLayout(); String str=One,Two,Three; for(int i=0;i3;i+) butti=new JButton(stri); con.add(butti); butti.addActionListener(this); my.setBounds(100,100,600,300); my.setVisible(true); public static void main(Stringargs) new Class3404(); (4分)5.阅读下列程序,写出程序功能。 import javax.swing.*; public class C3501 public static void main(String args) JFrame myWin=new JFrame(C3501); myWin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JMenuBar jmb=new JMenuBar(); myWin.setJMenuBar(jmb); myWin.setBounds(100,200,300,300); JMenu jm=new JMenu(AAA); jmb.add(jm); JMenuItem jmi=new JMenuItem(AA1); jm.add(jmi); JMenu jm2=new JMenu(AA2); jm.add(jm2); JMenuItem jmi2=new JMenuItem(AA21); jm2.add(jmi2); myWin.setVisible(true); (4分)五、程序设计题(本大题共2小题,每小题6分,共12分)1.编写编写一个方法array3701(),要求该方法有一个元素类型为int的数组参数,方法返回一个新数组,新数组的长度与参数数组的长度相同,而新数组元素的值和参数数组各元素的值首尾颠倒。 (6分)2.编写一个方法f3701(),要求该方法有一个字符串参数s,方法的功能是统计s中连续相同的字符构成的子串的最大长度,方法返回这个最大长度值,若没有,则返回1。 例如s=103300002222223333,其中连续相同的字符构成的子串有4个,长度依次为2、4、6、4,则最大长度为6。 (6分)六、简答题(本大题共6小题,每小题3分,共18分)1.Java.awt.event包中用来检测并对事件做出反应的模型包括哪三个组成元素? (3分)2.接口有与类相似的基本形式,接口有常量定义和方法定义,但没有方法的实现代码,接口中给出某种特定功能的一组方法的规范,方法的规范主要包括哪些? (3分)3.请写出为8位字节流数据和16位字符流数据分别提供读和写操作的类。 (3分)4.某Java程序要使用文件输入输出流,请写出该程序所需要的import语句。 (3分)5.阅读下面程序,如果在横线上分别填写i=mi=bi=p.ai=p.change(100)四个赋值语句,有哪些不合法?请写出原因。 class Class2201 private int a; public int change(int m)return m; public class Class22 extends Person public int b; public static void main(Stringargs) Class2201 p=new Class2201(); Class22 t=new Class22(); int i; _; (3分)6.文本框处理程序的基本内容有哪几个方面? (3分)参考答案一、单项选择题 (本大题共10小题,每小题1分,共10分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。1:参考答案:A参考解析:(P175)试题内容:Java中实现输入/输出操作的类库在()A:java.io包中B:java.input包中C:java.output包中D:java.lang.io包中2:参考答案:B参考解析:(P14)“/”为除法运算符,当除数和被除数均为整数类型时,结果也是整数类型。试题内容:以下程序代码的输出结果是()System.out.println(100/8);A:12.5B:12C:4D:03:参考答案:C参考解析:(P69)数组声明中不得指定大小,可以在声明时创建指定大小:float a=new float10。试题内容:在Java程序中声明一个数组,错误的是()A:int a;B:int a;C:float a10;D:float a ;4:参考答案:A参考解析:(P72)前者是二维数组的子数组的个数为4,后者是指定子数组的元素的个数,本题每个子数组的元素个数都为5。如果定义的是非平衡数组,则每个子数组个数可能会不同。试题内容:在Java程序中有定义:int x=new int45;则x.length和x3.length的值分别是()A:4和5B:5和4C:4和3D:5和35:参考答案:D参考解析:(P159)一个线程被创建后处于新建状态,它还没有启动,它可以被启动或终止。当调用了start()方法后,线程处于就绪状态,具备了运行的条件,但还是没有进入运行状态。当一个线程因为抢先机制而停止运行时,它应被放在可运行队列的后面而不是前面。试题内容:下列关于线程的说法正确的是()A:一个线程被创建,它就立即开始运行B:使用start()方法可以使一个线程立即开始运行C:当一个线程因为抢先机制而停止运行时,它被放在可运行队列的前面D:一个正在运行的线程可能因为某些情况而进入阻塞状态6:参考答案:A参考解析:(P8)标识符只能由字母、下划线、美元字符、文字字符和数字组成,不能由数字开头。B答案数字开头,C答案中使用了+号,D答案使用了-号,加减号不能组成标识符。 试题内容:下列属于合法的Java标识符是()A:_catB:5booksC:+staticD:-3.141597:参考答案:C参考解析:(P92)试题内容:在Java语言中,把按钮button的标题文字设置为“第一个按钮”的方法是()A:button.SetText(第一个按钮)B:button.GetText(第一个按钮)C:button.SetLabel(第一个按钮)D:button.GetLabel(第一个按钮)8:参考答案:C参考解析:(P150)Java组件可以使用Toolkit提供的静态方法getDefaultToolkit()获得一个缺省的Toolkit对象,并用它加载图像。此时,载入图像的代码可以这样写: URL url=new URL(http:/www.uvw.com/image.gif); Image img=Toolkit.getDefaultToolkit().getImage(url);试题内容:Java组件可以使用Toolkit提供的静态方法获得一个缺省的Toolkit对象,并用它加载图像,这个静态方法是()A:getImage(String name)B:getImage(URL url)C:getDefaultToolkit()D:getToolkit()9:参考答案:B参考解析:(P163)Java.lang.Runnable接口只有run()方法需要实现。一个实现Runnable接口的类实际上定义了一个在主线程之外的新线程的操作。试题内容:定义一个使用接口Java.lang.Runnable的类,必须要实现的方法是()A:start()B:run()C:init()D:paint()10:参考答案:D参考解析:(P175)“”要用转义字符表示,即“”。试题内容:以下是创建File对象的代码,错误的是()A:File f1=new File(/mydir/myfile.txt);B:File f2=new File(/mydir,myfile.txt);C:File f3=new File(mydirmyfile.txt);D:File f4=new File(mydirmyfile.txt);二、填空题 (本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。错填、不填均无分。1:参考答案:(P49)public class MyFrame extends JFrame试题内容:如果有一个类MyFrame是JFrame的子类,能够被不同包中的类所使用,请写出该类的声明头部:_ 。2:参考答案:(P104)JTextArea(10,20)试题内容:在Java程序中,要创建一个10行20列的文本区,可以采用的构造方法是_。3:参考答案:(P98)GridLayout试题内容:_布局是把容器划分成若干行和列的网格状,行数和列数由程序控制,组件放在网格的小格子中。4:参考答案:(P18)试题内容:在Java语言中,位异或运算的运算符为_。5:参考答案:(P195)网络套接字(socket)试题内容:端口号与IP地址的组合称为_。6:参考答案:(P154)AudioClip myClip=getAudioClip(getCodeBase(),mymusic.au);试题内容:Java小程序要播放一个与程序文件在一起的名为mymusic.au的音乐文件,小程序中应用先创建AudioClip对象,若对象名为myClip,则创建对象myClip的代码为_。7:参考答案:(P59)interface 解析定义接口需要使用interface关键字,实现接口需要使用implements关键字,一个类可以实现多个接口,相当于有了多个超类,可以实现有控制的多重继承。Java本身不支持使用关键字extends进行多重继承。试题内容:在Java语言中,定义一个接口,在接口名前面需要_关键字。8:参考答案:(P161)Runnable 解析Java程序实现多线程应用有两种途径:一是继承Thread类声明Thread子类,用Thread子类创建线程对象。二是在类中实现Runnable接口,在类中提供Runnable接口的run()方法。试题内容:Java程序实现多线程应用的途径之一是:定义一个实现_接口的类,并在类中提供该接口的所有方法。9:参考答案:(P75)false 解析=在字符串中使用,比较的是两个对象是否相同,而不是对象的内容。要比较内容应使用s1.equals(s3)这种方法,它的值为true。本题s1和s3是不同的对象,s1是在编译时就已产生的字符串“abc”的引用,而s3是在运行后才生成的字符串“abc”的引用,很明显,s1和s3是两个不同对象的引用,只是不同对象的内容相同。试题内容:以下程序代码的输出结果为:_。String s1=abc,s2=ab,s3;s3=s2.concat(c);System.out.println(s1=s3);10:参考答案:(P178)readLine()试题内容:采用缓冲式输入时,可以对BufferedReader对象使用_方法按行读取文件中的内容。三、程序填空题 (本大题共5小题,每空2分,共20分)1:参考答案:JComboBox yearBox=new JComboBox(); pane.add(yearBox),试题内容:下列应用程序,产生两个组合框,一个可以选择月份,一个可以选择20002009年之间的年份。import javax.swing.*;public class Class31002 extends JFrameJComboBox monthBox=new JComboBox();_public Class31002()super(Expiration Date);setSize(240,90);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);JPanel pane=new JPanel();JLabel exp=new JLabel(Expiration Date:);for (int i=0;i13;i+) monthBox.addItem( +i);for(int i=2000;i2010;i+) yearBox.addItem( +i);pane.add(exp);pane.add(monthBox);_setContentPane(pane);public static void main(Stringarg)new Class31002().setVisible(true);2:参考答案:x=i%10; y=i/10;,试题内容:求出所有满足下列条件的二位数:将此二位数的个位数字与十位数字进行交换,可得到一个新的数,要求新数与原数之和小于100。 int i,j,x,y; for(i=10;i100;i+) _ j=10*x+y; if(i+j160)i=1;g._;g.fillRect(i,10,20,20);g.drawString(我正在学习Java绘图!,1,25);tryThread.sleep(100);catch(InterruptedException e)repaint(); 5:参考答案:getImage drawImage,试题内容:以下小应用程序运行后显示一幅图片。import java.applet.*;import java.awt.*;public class Class3005 extends AppletImage myImg;public void start()myImg=_(getCodeBase(),myImg.jpg);public void paint(Graphics g)g._(myImg,0,0,this);四、程序分析题 (本大题共5小题,每小题4分,共20分)1:参考答案:程序运行结果: BBB AAA试题内容:阅读下面程序,写出程序运行结果。class AB obj;A()obj=new B();obj.print();System.out.println(AAA);class Bpublic void print()System.out.println(BBB);public class Class3202public static void main(String arg)A obj=new A();2:参考答案:运行结果: Li的编号851898,100,6,12 Tom的编号951899,100,14,7试题内容:阅读下列程序,写出程序运行结果。interface Computablefinal int MAX=100;int f(int x);int g(int x,int y);class Aa implements Computableint no;public int f(int x)int sum=0;for(int i=1;i=x;i+)sum=sum+i;return sum;public int g(int x,int y)return x*y;class Bb implements Computableint no;public int f(int x)int sum=0;for(int i=1;i=x;i+)sum=sum+i*i;return sum;public int g(int x,int y)return x+y;public class Class3204public static void main(String args)Aa li;Bb tom;li=new Aa();li.no=851898;tom=new Bb();tom.no=951899;System.out.print(Li的编号+li.no+,+li.MAX);System.out.println(,+li.f(3)+,+li.g(3,4);System.out.print(Tom的编号+tom.no+,+tom.MAX);System.out.print(,+tom.f(3)+,+tom.g(3,4);3:参考答案:运行结果: 4 public static void main试题内容:阅读下列程序,写出程序运行结果。import java.util.*;public class Class3304public static void main(String args)String s1=public,static?void,main;StringTokenizer pas1=new StringTokenizer(s1,? ,);int n1=pas1.countTokens();System.out.println(n1);while(pas1.hasMoreTokens()String s=pas1.nextToken();System.out.println(s);4:参考答案:红色窗口(Class3404)中上方有三个按钮一字排开,单击第一个按钮(One)会使第二个按钮(Two)变为不可用状 态即变为灰色,单击第三个按钮(Three)会使第二个按钮变为可用状态。试题内容:阅读下列程序,写出程序功能。import java.awt.*;import javax.swing.*;import java.awt.event.*;public class Class3404 implements ActionListenerJButton butt=new JButton3;public void actionPerformed(ActionEvent e)if (e.getActionCommand().equals(One)butt1.setEnabled(false);if(e.getActionCommand().equals(Three)butt1.setEnabled(true);public Class3404()JFrame my=new JFrame(Class3404);Container con=my.getContentPane();con.setBackground(Color.red);con.setLayout(new FlowLayout();String str=One,Two,Three;for(int i=0;i3;i+)butti=new JButton(stri);con.add(butti);butti.addActionListener(this);my.setBounds(100,100,600,300);my.setVisible(true);public static void main(Stringargs)new Class3404();5:参考答案:程序功能:应用程序窗口生成一个下拉菜单,菜单名是AAA,有两个菜单项AA1和AA2,其中AA2有子菜单,子菜单中有一个菜单项AA21。试题内容:阅读下列程序,写出程序功能。import javax.swing.*;public class C3501public static void main(String args)JFrame myWin=new JFrame(C3501);myWin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);JMenuBar jmb=new JMenuBar();myWin.setJMenuBar(jmb);myWin.setBounds(100,200,300,300);JMenu jm=new JMenu(AAA);jmb.add(jm);JMenuItem jmi=new JMenuItem(AA1);jm.add(jmi);JMenu jm2=new JMenu(AA2);jm.add(jm2);JMenuItem jmi2=new JMenuItem(AA21);jm2.add(jmi2);myWin.setVisible(true);五、程序设计题 (本大题共2小题,每小题6分,共12分)1:参考答案:int array3701(int a) int x=new inta.length; for(int i=0;ia.length;i+) xi=aa.length-1-i; return x; 解析完整的Java程序如下: public class Class3701 static int array3701(int a) int x=new inta.length; for(int i=0;ia.length;i+) xi=aa.length-1-i; return x; public static void main(String args) int a=1,2,3,4; a=array3701(a); for(int i=0;ia.length;i+) System.out.print(ai+ ); 输出结果为:4321试题内容:编写编写一个方法array3701(),要求该方法有一个元素类型为int的数组参数,方法返回一个新数组,新数组的长度与参数数组的长度相同,而新数组元素的值和参数数组各元素的值首尾颠倒。2:参考答案:int f3701(String s) int m=1,n=0; byte ss=s.getBytes(); for(int i=1;in)n=m; m=1; return n; 试题内容:编写一个方法f3701(),要求该方法有一个字符串参数s,方法的功能是统计s中连续相同的字符构成的子串的最大长度,方法返回这个最大长度值,若没有,则返回1。例如s=103300002222223333,其中连续相同的字符构成的子串有4个,长度依次为2、4、6、4,则最大长度为6。六、简答题 (本大题共6小题,每小题3分,共18分)1:参考答案:(P87) (1)源对象:事件“发生”在这个组件上,它与一组“侦听”该事件的对象保持着联系。 (2)监视器对象:是一个实现预定义接口的类的一个对象,该对象的类要提供对发生的事件作处理的方法。 (3)事件对象:它包含描述当事件发生时从源对象传递给监视器对象的特定事件的信息,它将作为参数传递给处理事件的 方法。试题内容:Java.awt.event包中用来检测并对事件做出反应的模型包括哪三个组成元素?2:参考答案:(P50)方法的名称,方法的返回值类型,方法的参数个数与参数类型。试题内容:接口有与类相似的基本形式,接口有常量定义和方法定义,但没有方法的实现代码,接口中给出某种特定功能的一组方法的规范,方法的规范主要包括哪些?3:参考答案:(P175) 为8位字节流数据提供读和写操作的类是FileInputStream类和FileOutputStream类。 为16位字符流数据提供读和写操作的类FileReader类和FileWriter类。试题内容:请写出为8位字节流数据和16位字符流数据分别提供读和写操作的类。4:参考答案:(P175)import java.io.*;试题内容:某Java程序要使用文件输入输出流,请写出该程序所需要的import语句。5:参考答案:(P48) 不合法:m在Class22中没有声明过,不能使用。 不合法:b是非静态成员,不能在静态方法main()中使用。 不合法:a是Class2201类的private成员,不能在Class2201类外直接访问。 合法。试题内容:阅读下面程序,如果在横线上分别填写i=mi=bi=p.ai=p.change(100)四个赋值语句,有哪些不合法?请写出原因。class Class2201private int a;public int change(int m)return m;public class Class22 extends Personpublic int b;public static void main(Stringargs)Class2201 p=new Class2201();Class22 t=new Class22();int i;_;6:参考答案:(P102) (1)声明一个文本框名; (2)建立一个文本框对象; (3)将文本框对象加入到某个容器; (4)对需要控制的文本框对象注册监视器,监听文本框的输入结束事件; (5)一个处理文本框事件的方法,完成对截获事件进行判断和处理。试题内容:文本框处理程序的基本内容有哪几个方面?自考乐园,自考学习交流、资料共享的好去处!自考乐园,自考人自己的家园.俱乐部id:5346389(请牢记它哦在百度贴吧的搜索框中输入俱乐部id,可以直接进入俱乐部
展开阅读全文