2011年全国自考Java语言程序设计(一)模拟试卷(二)及答案.doc

上传人:wux****ua 文档编号:9068644 上传时间:2020-04-02 格式:DOC 页数:25 大小:180KB
返回 下载 相关 举报
2011年全国自考Java语言程序设计(一)模拟试卷(二)及答案.doc_第1页
第1页 / 共25页
2011年全国自考Java语言程序设计(一)模拟试卷(二)及答案.doc_第2页
第2页 / 共25页
2011年全国自考Java语言程序设计(一)模拟试卷(二)及答案.doc_第3页
第3页 / 共25页
点击查看更多>>
资源描述
更多优质自考资料尽在百度贴吧自考乐园俱乐部(http:/tieba.baidu.com/club/5346389)欢迎加入.欢迎交流.止不住的惊喜等着你.2011年全国自考Java语言程序设计(一)模拟试卷(二)及答案一、单项选择题(本大题共10小题,每小题1分,共10分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。1.下列正确的句子是() (1分)A:float 3.14;B:byte i=225;C:int k=33L;D:int p;2.下列叙述中,正确的是() (1分)A:Java语言的标识符是区分大小写的B:源文件名与public类名可以不相同C:源文件名其扩展名为.jarD:源文件中public类的数目不限3.列表事件的事件源有两种,其中之一是单击列表中的选项,则与单击选项事件相关的接口是() (1分)A:ActionListenerB:ListSelectionEventC:ListSelectionListenerD:addListSelectionListener4.下列属于合法的Java标识符是() (1分)A:_catB:5booksC:+staticD:-3.141595.定义一个使用接口Java.lang.Runnable的类,必须要实现的方法是() (1分)A:start()B:run()C:init()D:paint()6.以下程序代码的输出结果是() short i=10,j,k=20; j=k+i+; System.out.print(j); (1分)A:30B:31C:出错D:117.下列语句中,错误的Java语句是() (1分)A:连续出现多个分号B:try.catch语句C:include语句D:switch语句8.下列有关抽象类及抽象方法的叙述错误的是() (1分)A:使用final修饰的类是抽象类B:使用abstract修饰的方法是抽象方法C:抽象类必须被继承才能使用,抽象类不可能有实例D:抽象类可以没有抽象方法,但有抽象方法的类一定是抽象类9.下列有关事件监视器的说法正确的是() (1分)A:一个组件上不可以注册多个事件监视器B:一个事件监视器可以被注册到多个组件上C:一个组件上注册多个事件监视器会发生冲突,不会起作用D:一个组件上注册多个事件监视器,只有最后一个事件监视器会起作用10.在编写Java程序访问数据库的过程中,用来处理驱动程序的加载和建立新数据库连接的类是() (1分)A:DriverManager类B:Statement类C:Connection类D:ResultSet类二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。错填、不填均无分。1.在Java的某个组件中绘图,一般应该为这个组件所属的子类重写方法,在该重写的方法中进行绘图。 (2分)2.Java语言使用Unicode字符集,共有个字符。 (2分)3.Java语言将类型分为基本类型和类型两种。 (2分)4.当在一个容器中放入多个选择框之前,可以先用对象将多个选择框分组,使得同一时刻组内的多个选择框只允许有一个被选中。 (2分)5.当线程A使用某个对象,而此对象又需要线程B修改后才能符合A线程的需要,这时线程A就要等待线程B完成修改工作,这种线程相互等待称为_。 (2分)6.端口号与IP地址的组合称为_。 (2分)7.在已有类的基础上,扩充属性或扩充与改写某些方法,生成新的类,这个方式称为_。 (2分)8.将显示区域按行、列划分成一个个大小相等的格子,组件依次放入这些格子中。 (2分)9.设定文本框对象text使其不可编辑对应的代码是。 (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.以下程序产生一个依赖myWin,标题为“我的对话框”的,布局管理器为FlowLayout的强制型对话框。 import java.awt.*; import javax.swing.*; public class Class29041 public static void main(String args) JFrame myWin=new JFrame(); JButton button=new JButton(butt); myDialog.add(button); myDialog.setBounds(300,300,200,200); myDialog.setVisible(true); (2分)3.下面程序产生一个窗口,1秒后自动关闭。 public class Class3104 implements Runnable try Thread.sleep(1000); catch(InterruptedException e) System.exit(0); public Class3104() JFrame my=new JFrame(); my.setBounds(100,100,600,300); my.setVisible(true); public static void main(String args) Class3104 t=new Class3104(); Thread tt=; tt.start(); (2分)4.回文整数是指正读和反读都一样的整数。方法f2705(int n)的功能是判断十进制整数n是否为回文整数。例如:n=123321,该方法返回值为true;n=123,该方法返回值为false。 boolean f2705(int n) Integer M=n; String s=; int i=0; while(is.length()/2) String s1,s2; s1=s.substring(i,i+1); s2=s.substring(s.length()-i-1,s.length()-i); if(!()break; i+; if (is.length()/2) return false; else return true; (2分)5.下面应用程序,绘制一个红色五角星。请完成程序。 import java.awt.*; import javax.swing.*; class MyPanel extends JPanel public void int r=100; int x1=100, x2=(int)(r*(1-Math.cos(18*Math.PI)/180), x3=(int)(r*(1+Math.cos(18*Math.PI)/180), x4=(int)(r*(1-Math.cos(54*Math.PI)/180), x5=(int)(r*(1+Math.cos(54*Math.PI)/180), y1=0, y2=(int)(r*(1-Math.sin(18*Math.PI)/180), y3=(int)(r*(1-Math.sin(18*Math.PI)/180), y4=(int)(r*(1+Math.sin(54*Math.PI)/180), y5=(int)(r*(1+Math.sin(54*Math.PI)/180); g.drawOval(0,0,200,200); g.drawLine(x4,y4,x1,y1);g.drawLine(x1,y1,x5,y5); g.drawLine(x5,y5,x2,y2);g.drawLine(x2,y2,x3,y3); g.drawLine(x3,y3,x4,y4); public class C3002 extends JFrame C3002() super(C3002); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); getContentPane().add(new MyPanel(); setSize(210,242); setVisible(true); public static void main(String args) new C3002(); (2分)四、程序分析题(本大题共5小题,每小题4分,共20分)1.请将以下程序段表示的计算e的公式写出来(假设x的值已给出)。 float a,e; e=1; a=1; for(int n=1;n=10;n+) a=a*x/n; e=e+a; 写出所表示的公式e=。 (4分)2.阅读下面程序,写出程序功能及当输入6和9时的运行情况。 import java.awt.*; import javax.swing.*; import java.awt.event.*; public class Class3402 implements ActionListener JButton butt=new JButton(OK); JTextField text1=new JTextField(10); JTextField text2=new JTextField(10); JTextField text3=new JTextField(10); public Class3402() JFrame myWin=new JFrame(Class3402); myWin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Container con=myWin.getContentPane(); con.setLayout(new GridLayout(4,1); con.add(text1);con.add(text2); con.add(butt);con.add(text3); butt.addActionListener(this); myWin.pack(); myWin.setVisible(true); public void actionPerformed(ActionEvent e) int a=Integer.parseInt(text1.getText(); int b=Integer.parseInt(text2.getText(); int i; for(i=1;i=a*b;i+) if(i%a=0&i%b=0)break; text3.setText(String.valueOf(i); public static void main(Stringargs) new Class3402(); (4分)3.阅读下列程序,写出程序运行结果。 import java.util.StringTokenizer; public class C3301 public static void main(String args) String ss=public static void main; StringTokenizer pas=new StringTokenizer(ss, ); int n=pas.countTokens(); System.out.println(n); String s=pas.nextToken(); for(pas.nextToken();pas.hasMoreTokens();s=pas.nextToken() System.out.println(s); (4分)4.阅读下列程序,写出程序功能。 import java.awt.*; import javax.swing.*; import java.awt.event.*; public class C3401 implements ActionListener JFrame frmFrame; JButton btnUp, btnDown; public C3401() frmFrame = new JFrame(按钮应用); frmFrame.setLayout(new GridLayout(2,1); btnUp = new JButton(上); btnUp.setActionCommand(btnUp); btnUp.addActionListener(this); btnDown = new JButton(下); btnDown.setActionCommand(btnDown); btnDown.addActionListener(this); frmFrame.add(btnUp); frmFrame.add(btnDown); frmFrame.pack(); frmFrame.setVisible(true); public void actionPerformed(ActionEvent e) String cmd = e.getActionCommand(); if ( cmd.equals(btnDown) ) if (btnUp.getBackground()=Color.BLUE) btnUp.setBackground(Color.red); else btnUp.setBackground(Color.blue); else if (btnDown.getBackground()=Color.BLUE) btnDown.setBackground(Color.red); else btnDown.setBackground(Color.blue); public static void main(String args) new C3401(); (4分)5.阅读下列程序,写出程序功能。 import java.applet.*; import java.awt.*; import java.awt.event.*; public class C3601 extends Applet implements ActionListener AudioClip clip; Button buttonPlay,buttonLoop,buttonStop; public void init() clip=getAudioClip(getCodeBase(),1.wav); buttonPlay=new Button(start); buttonLoop=new Button(loop); buttonStop=new Button(stop); buttonPlay.addActionListener(this); buttonStop.addActionListener(this); buttonLoop.addActionListener(this); setSize(300,100); add(buttonPlay);add(buttonLoop);add(buttonStop); public void stop() clip.stop(); public void actionPerformed(ActionEvent e) if(e.getSource()=buttonPlay)clip.play(); else if(e.getSource()=buttonLoop)clip.loop(); if(e.getSource()=buttonStop)clip.stop(); (4分)五、程序设计题(本大题共2小题,每小题6分,共12分)1.设计一个应用程序的界面如下,功能是:拖动水平滑块,在上面的标签左边显示滑块的当前值,范围为100200,起始点为140,滑块宽度为10。 (6分)2.编写一个方法hex3705(),要求将一个以字符串(如有字母用大写)形式表示的十六进制数转换十进制正整数,其中字符串为方法参数,正整数为返回值。 (6分)六、简答题(本大题共6小题,每小题3分,共18分)1.请写出程序处理按钮单击事件时,与按钮动作事件相关的接口,注册监视器的方法及要实现的接口方法。 (3分)2.标签(JLabel)是最简单的Swing组件,程序关于标签的基本内容有哪三个方面? (3分)3.请写出为8位字节流数据和16位字符流数据分别提供读和写操作的类。 (3分)4.某Java程序要使用文件输入输出流,请写出该程序所需要的import语句。 (3分)5.下列类的定义中有哪些错误?写出错误原因或者进行改正。 class C2202 int x; C2202(int x)this.x=x; C2202()C2202(10); int f() int a=1; x=a; void g() int y; y=a+x; (3分)6.编写访问数据库的Java程序需要几个重要的类和接口,请任意写出其中的三个。 (3分)2011年全国自考Java语言程序设计(一)模拟试卷(二)一、单项选择题 (本大题共10小题,每小题1分,共10分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。1:参考答案:D参考解析:(P71)声明二维数组的一般形式有以下3种: 类型 数组名 类型 数组名 类型 数组名 试题内容:下列正确的句子是()A:float 3.14;B:byte i=225;C:int k=33L;D:int p;2:参考答案:A参考解析:(P8)源文件中如果有public类,则源文件名与public类名必须相同;源文件名其扩展名为.java;源文件中public类的数目不能多于一个。试题内容:下列叙述中,正确的是()A:Java语言的标识符是区分大小写的B:源文件名与public类名可以不相同C:源文件名其扩展名为.jarD:源文件中public类的数目不限3:参考答案:C参考解析:(P114)ActionListener是与双击选项事件相关的接口,注册监视器的方法是addActionListener(),接口方法是 actionPerformed(ActionEvent e)。与单击选项事件相关的接口是ListSelectionListener,注册监视器的方法是 addListSelectionListener(),接口方法是valueChanged(ListSelectionEvent e)。试题内容:列表事件的事件源有两种,其中之一是单击列表中的选项,则与单击选项事件相关的接口是()A:ActionListenerB:ListSelectionEventC:ListSelectionListenerD:addListSelectionListener4:参考答案:A参考解析:(P8)标识符只能由字母、下划线、美元字符、文字字符和数字组成,不能由数字开头。B答案数字开头,C答案中使用了+号,D答案使用了-号,加减号不能组成标识符。 试题内容:下列属于合法的Java标识符是()A:_catB:5booksC:+staticD:-3.141595:参考答案:B参考解析:(P163)Java.lang.Runnable接口只有run()方法需要实现。一个实现Runnable接口的类实际上定义了一个在主线程之外的新线程的操作。试题内容:定义一个使用接口Java.lang.Runnable的类,必须要实现的方法是()A:start()B:run()C:init()D:paint()6:参考答案:C参考解析:(P10)对于使用类型为byte或者short变量的算术表达式,其计算方式与使用int型变量相同都是进行32位算术运算,结果也是32位整数。本题编译器无法把32位整数存储到只有16位长的变量中。试题内容:以下程序代码的输出结果是()short i=10,j,k=20;j=k+i+;System.out.print(j);A:30B:31C:出错D:117:参考答案:C参考解析:(P20)本题考核知识点是Java语句。在Java语言中连续出现多个分号不是一种错误,编译系统认为每个单独的分号都是一个空语句。B答案是捕获异常的语句。D答案是多分支选择语句。在Java中没有include语句。试题内容:下列语句中,错误的Java语句是()A:连续出现多个分号B:try.catch语句C:include语句D:switch语句8:参考答案:A参考解析:(P54)本题考核知识点是Java抽象类及抽象方法。抽象类和抽象方法都是使用abstract进行修饰。抽象类只声明一个模板,没有具体实现的代码,只有它的子类才可能有实际意义。抽象方法只能出现在抽象类中,抽象方法在抽象类中只声明了一个方法头部就用分号结束了,没有实现方法功能的代码。使用final修饰的类、方法和变量都是不可以再改变的。final类不能被继承,final方法不能被子类的方法覆盖,final变量相当于一个常量。试题内容:下列有关抽象类及抽象方法的叙述错误的是()A:使用final修饰的类是抽象类B:使用abstract修饰的方法是抽象方法C:抽象类必须被继承才能使用,抽象类不可能有实例D:抽象类可以没有抽象方法,但有抽象方法的类一定是抽象类9:参考答案:B参考解析:(P87)本题考核知识点是监视器注册。如果多个事件监视器被注册到一个组件上,这些事件监视器一般都会起作用,但各个事件的处理顺序不确定。试题内容:下列有关事件监视器的说法正确的是()A:一个组件上不可以注册多个事件监视器B:一个事件监视器可以被注册到多个组件上C:一个组件上注册多个事件监视器会发生冲突,不会起作用D:一个组件上注册多个事件监视器,只有最后一个事件监视器会起作用10:参考答案:A参考解析:(P201)本题考核知识点是DriverManager类。DriverManager类处理驱动程序的加载和建立新数据连接;Statement类用于在指定的连接中处理SQL语句;Connection类用于处理与特定数据库的连接;ResultSet类用于处理SQL语句执行后的查询结果。试题内容:在编写Java程序访问数据库的过程中,用来处理驱动程序的加载和建立新数据库连接的类是()A:DriverManager类B:Statement类C:Connection类D:ResultSet类二、填空题 (本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。错填、不填均无分。1:参考答案:(P137)paint()试题内容:在Java的某个组件中绘图,一般应该为这个组件所属的子类重写_方法,在该重写的方法中进行绘图。2:参考答案:(P7)65536试题内容:Java语言使用Unicode字符集,共有_个字符。3:参考答案:(P45)引用试题内容:Java语言将类型分为基本类型和_类型两种。4:参考答案:(P112)ButtonGroup试题内容:当在一个容器中放入多个选择框之前,可以先用_对象将多个选择框分组,使得同一时刻组内的多个选择框只允许有一个被选中。5:参考答案:(P168)线程的同步试题内容:当线程A使用某个对象,而此对象又需要线程B修改后才能符合A线程的需要,这时线程A就要等待线程B完成修改工作,这种线程相互等待称为_。6:参考答案:(P195)网络套接字(socket)试题内容:端口号与IP地址的组合称为_。7:参考答案:(P40)继承试题内容:在已有类的基础上,扩充属性或扩充与改写某些方法,生成新的类,这个方式称为_。8:参考答案:(P98)GridLayout 解析常用的布局类:FlowLayout为依次放置组件;BorderLayout将组件放置在边界上; CardLayout将组件像扑克牌一样叠放,而每次只能显示其中的一个组件;GridLayout将显示区域按行、列划分成一个个大小相等的格子,组件依次放入这些格子中;GridBagLayout能进行更精细的位置控制。试题内容:_将显示区域按行、列划分成一个个大小相等的格子,组件依次放入这些格子中。9:参考答案:(P102)text.setEditable(false)试题内容:设定文本框对象text使其不可编辑对应的代码是_。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:参考答案:JDialog myDialog=new JDialog(myWin,我的对话框,true); myDialog.setLayout(new FlowLayout();试题内容:以下程序产生一个依赖myWin,标题为“我的对话框”的,布局管理器为FlowLayout的强制型对话框。import java.awt.*;import javax.swing.*;public class Class29041public static void main(String args)JFrame myWin=new JFrame();_JButton button=new JButton(butt);myDialog.add(button);myDialog.setBounds(300,300,200,200);myDialog.setVisible(true);3:参考答案:public void run() new Thread(t)试题内容:下面程序产生一个窗口,1秒后自动关闭。public class Class3104 implements Runnable_tryThread.sleep(1000);catch(InterruptedException e)System.exit(0);public Class3104()JFrame my=new JFrame();my.setBounds(100,100,600,300);my.setVisible(true);public static void main(String args)Class3104 t=new Class3104();Thread tt=_;tt.start();4:参考答案:M.toString() s1.equals(s2)试题内容:回文整数是指正读和反读都一样的整数。方法f2705(int n)的功能是判断十进制整数n是否为回文整数。例如:n=123321,该方法返回值为true;n=123,该方法返回值为false。boolean f2705(int n)Integer M=n;String s=_;int i=0;while(is.length()/2)String s1,s2;s1=s.substring(i,i+1);s2=s.substring(s.length()-i-1,s.length()-i);if(!(_)break;i+;if (is.length()/2) return false;else return true;5:参考答案:paintComponent(Graphics g); g.setColor(Color.RED);试题内容:下面应用程序,绘制一个红色五角星。请完成程序。import java.awt.*;import javax.swing.*;class MyPanel extends JPanelpublic void_int r=100;int x1=100,x2=(int)(r*(1-Math.cos(18*Math.PI)/180),x3=(int)(r*(1+Math.cos(18*Math.PI)/180),x4=(int)(r*(1-Math.cos(54*Math.PI)/180),x5=(int)(r*(1+Math.cos(54*Math.PI)/180),y1=0,y2=(int)(r*(1-Math.sin(18*Math.PI)/180),y3=(int)(r*(1-Math.sin(18*Math.PI)/180),y4=(int)(r*(1+Math.sin(54*Math.PI)/180),y5=(int)(r*(1+Math.sin(54*Math.PI)/180);_g.drawOval(0,0,200,200);g.drawLine(x4,y4,x1,y1);g.drawLine(x1,y1,x5,y5);g.drawLine(x5,y5,x2,y2);g.drawLine(x2,y2,x3,y3);g.drawLine(x3,y3,x4,y4);public class C3002 extends JFrameC3002()super(C3002);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);getContentPane().add(new MyPanel();setSize(210,242);setVisible(true);public static void main(String args)new C3002();四、程序分析题 (本大题共5小题,每小题4分,共20分)1:参考答案:输出结果为:false,false,true试题内容:请将以下程序段表示的计算e的公式写出来(假设x的值已给出)。 float a,e; e=1; a=1; for(int n=1;n=10;n+) a=a*x/n; e=e+a; 写出所表示的公式e=。2:参考答案:程序功能:在应用程序窗口中的前两个文本框text1和text2中填入两个整数,单击OK按钮,在第三个文本框text3中 将显示两个整数的最小公倍数。 当输入6和9时,单击OK按钮,在第三个文本框中显示18。 解析程序运行后的界面如下:试题内容:阅读下面程序,写出程序功能及当输入6和9时的运行情况。import java.awt.*;import javax.swing.*;import java.awt.event.*;public class Class3402 implements ActionListenerJButton butt=new JButton(OK);JTextField text1=new JTextField(10);JTextField text2=new JTextField(10);JTextField text3=new JTextField(10);public Class3402()JFrame myWin=new JFrame(Class3402);myWin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);Container con=myWin.getContentPane();con.setLayout(new GridLayout(4,1);con.add(text1);con.add(text2);con.add(butt);con.add(text3);butt.addActionListener(this);myWin.pack();myWin.setVisible(true);public void actionPerformed(ActionEvent e)int a=Integer.parseInt(text1.getText();int b=Integer.parseInt(text2.getText();int i;for(i=1;i=0) int t=bi-48; if(t10)t=t-7; n=n+t*k; k*=16; return n; 解析完整的程序如下: public class Class3705 static int hex3705(String s) int n=0; byte b=s.getBytes();/字符串存入字节数组,转化为字符 int i=b.length,k=1; while(-i=0)/对字节数组每个元素进行分析 int t=bi-48;/字符0的ASCII码值是48 if(t10)t=t-7;/若是字
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 考试试卷


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!