您当前的位置: 湖南自考网 > 历年真题 > 工学类 > 文章详情

自考软件工程:2012年10月04747Java语言程序设计(一)历年真题及答案

2018-08-08 17:49:10
来源:湖南自考生网

以下自考本科软件工程专业:2012年10月04747Java语言程序设计(一)历年真题试卷及答案由湖南自考生网www.zikaosw.com收集、提供。更多真题及答案,可在我办网站“历年真题”栏目中查看。软件工程历年真题建议同学们在自学完教材后,做几套历年真题,熟悉题型,提高学习能力。 

 

全国201210月高等教育自学考试

Java语言程序设计(一)试题(含答案)

课程代码:04747

一、单项选择题(本大题共10小题,每小题1分,共10分)

 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题纸’’的相应代码涂黑。错涂、多涂或未涂均无分。

1. Java语言中,int类型占用的二进制位数是 ( C

 A. 8位 B. 16位

 C. 32位  D. 64位

2. 以下关于Java语句的说法正确的是( C

A. continue语句必须出现在多路按值选择结构或循环结构中

B. return语句可以出现在方法体的外面

C. 编译系统会把单独的分号看成是空语句

D. break语句的作用是提早结束当前轮次循环

3. 不能被再继承的类是( A

A. final类  B. abstract类

 C. public类 D. 用户自定义类

4. 已知String s="ABCDEFGHIJABC",以下说法错误的是( D

A. s.indexOf("C")等于2 B. s.indexOf("EFG",2)等于4

C. s.indexOf("A",7)等于10 D. s.indexOf("D",4)等于3

5. 以下Swing提供的GUI组件类和容器类中,不属于顶层容器的是( D

A. JFrame B. JApplet

C. JDialog D. JMenu

6. 以下不是JDialog类构造方法的是( B

A. JDialog( ) B. JDialog(boolean b)

C. JDialog(JFrame f, String s) D. JDialog(JFrame f, String s, boolean b)

7. 以下不属于文字字型要素的是( D

A. 字体 B. 风格

C. 字号 D. 颜色

8. 阻塞状态的线程在消除引起阻塞的原因后,会转入( C

A. 死亡状态 B. 开始状态

C. 就绪状态  D. 运行状态

9. 字符流数据是( B

A. 8位的ASCII字符 B. 16位的Unicode字符

C. 任意字符数据 D. 任意二进制数据

10. 以下方法中,可以执行SQL查询语句的是( A

A. executeQuery( )   B. executeUpdate( )

C. executeSQL( ) D. executeFind( )

非选择题部分

注意事项:

     用黑色字迹的签字笔或钢笔将答案写在答题纸上,不能答在试题卷上。

二、填空题(本大题共10小题,每小题2分,共20分)

11. 如果Java源文件中有多个类,那么只能有一个_public_类。

12. 运算符‘‘<”、 “*”和“&&”按优先级从高到低的顺序排列为__*_<_&&__。

13. 当联编推迟至运行时间实现时,该联编过程称为__动态__联编。

14. 数组名如同对象名一样,是一种__引用__。

15. 为了让监视器与事件对象关联起来,需要对事件对象做__监视器注册__,告诉系统事件对象的监视器。

16. 列表在界面中表现为列表框,是__JList__类或它的子类的对象。

17. Java语言的图像处理功能被封装在__Image__类中。

18. 线程之间的相互等待被称为线程的__同步__。

19. 希望由FileReader对象rf,创建对文件实行缓冲式输入的对象in,能实现这个要求的代码是

__ in = new BufferedReader(rf)_ _。

20. 当Client程序和Server程序需要通信时,可以用__Socket___类建立套接字连接。

三、简答题(本大题共6小题,每小题3分,共1 8分)

21. 请写出表示条件“y右移一位后大于3并且y不等于0”成立的Java表达式。

答: y>>1>3&&y!=0

 

22. 请写出类之间的is-a关系和类之间的has-a关系的含义。

答:is-a:类之间存在继承关系,如类A继承扩展类B,类A类B之间是is-a关系。

has-a:类之间存在包含关系,如类A的某成员变量类型是类B,类A类B之间是has-a关系。

 

23. 请写出GridLayout布局的三种构造方法。

答:GridLayout()

GridLayout(int row,int col)

GridLayout(int row,int col ,int horz,int vert)

 

24. 请写出使用Graphics2D类声明并创建一个左上角为(30,40),宽是80,高为50的椭圆对象ellipse的语句。

答:Ellipse2D ellipse = new Ellipse2D.Double(30,40,80,50);

 

25. 请写出采用缓冲式输出时,程序由文件名创建缓冲式输出流的步骤。

答:程序先创建FileWrite对象,再利用FileWrite对象创建BufferedWrite对象,对BufferedWrite对象使用write()方法就能实现缓冲式输出。

 

26. 请写出数据库更新操作中,删除数据表记录的3种方案各自所使用的对象。

答:使用Statement对象,使用ResultSet对象,使用PrepareStatement对象。

 

四、程序填空题(本大题共5小题,每空2分,共20分)

27. 以下程序是求50以内的质数。

 public class Test27{

 public static void main(String[] args){

int i,j;

 for (j=2;j<=50;j++){

 for(i=2;i<=j/2;i++)

 if(_j%i_==0) break;

 if(i>_j/2__) {

 System. out. println(j+"是质数");

 }else { }

  }

       }

     }

 

28. 以下是使用JFrame派生的子类MyWindowDemo创建JFrame窗口的代码。类 MyWindowDemo的构造方法有五个参数:窗口的标题名,加人窗口的组件,组件的背景颜色,以及窗口宽和高。

class MyWindowDemo extends JFrame {

 public MyWindowDemo(String name,JButton b,Color C,int w,int h){

 __super( )____;

 setTitle(name);

 setSize(w,h);

 Container contentPane=_getContentPane( )_ _;//获得窗口内容面板

 contentPane.add(b);

 b.setB ackground(c);

 }

 }

29. 小应用程序声明一个用户窗口类和对话框类,用户窗口有若干按钮,当点击某按钮时,打开对应的对话框。以下是对buttonl进行处理的部分代码。

public void actionPerformed(ActionEvent e){

MyDialog dialog;

if(e.getSource()==button 1){

      dialog=new MyDialog(__this___,"水果");

 dialog. __setVisible(true)__ _;      //显示该对话框

 ………    //这里是对button l进行处理的其他代码

 }

 ………     //这里是其他按钮事件的处理代码

 }

 30. 以下是能播放声音的小应用程序中事件处理方法的部分代码,其中clip为一个音频对象,b1、b2分别是播放和停止播放的按钮。

public void actionPerformed(ActionEvent e){

 if(e.getSource()==b1){clip._play( ) __;}

  else if(e.getSource()==b2){clip._stop( ) _;}

}

31. 以下程序段定义的类DataManager用于管理多个线程共享数据data。为了对data的取、存和修改操作保持完整,多线程在data上的操作有互斥要求;另外,限制线程对data的修改不能让data为负数,所以多线程在data上的操作还有同步要求。为此,程序为管理data上的操作定义成类。

class DataManager{

   int data;

 DataManager(int init){data=init;}

 public int getData(){return data;}

 private void putData(int newValue){  data=newValue;}

 _synchronized__ void modiData(int delta){

if(delta>=0) {

 putData(getData()+delta);

 } else   {

 while(getData()+delta<0) {

 try{ wait();}

 catch(InterruptedException e) {}

 }

 putData(getData()+delta);

}

_notify( )_______;

}

 }

五、程序分析题(本大题共5小题,每小题4分,共20分)

32. 阅读下列程序,请写出该程序的输出结果。

public class Test32{

public static void main(String[] args){

 int i,j;

 for(i=0;i<5;i++)

{

for(j=1;j<5-i;j++)

System.out.print(" ");

           for(j=0;j<=i;j++)

System.om.print(’"*");

 System. out. Println( );

        }

    }

 }

答:

    *

   **

  ***

 ****

*****

33. 阅读下列程序,请写出该程序的输出结果。

 public class Test33{

   static int x=1;

 int y=0;

 Test33() {

 x++;y++;

 }

 public static void main(String[] args) {

     Test33 st=new Test33();

   System.out.println("x="+x);

 System.out.println("st.y=" +st.y);

 st=new Test33();

 System.out.println("x="+x);

 System.out.println("st.y="+st.y);

   }

 }

答:

x=2

st.y=1

x=3

st.y=1

34. 阅读下列程序,请写出该程序的功能。假定图像文件apple.gif、banana.gif、pear.gif和watermelon.gif已经存放在当前目录中。

 import java. awt. *;import java. awt. event. *;import javax. swing. *;

 public class Test3 4 extends JApplet implements ItemListener{

     Image image=null;

JPanel p;

     public void init() {

 Container contentPane=getContentPane();

 contentPane. setLayout(new FlowLayout());

 JComboBox jc=new JComboBox();

 jc. addItem("apple");jc. addItem("banana");

 jc. addItem("pear"); jc. addItem("watermelon");

 jc. addItemListener(this);

 contentPane. add(jc);

 p=new JPanel( );

 contentPane. add(p);

     }

 public void paint(Graphics g){

 if(image!=null)

 g. drawImage(image,0,0,this);

}

 public void itemStateChanged(ItemEvent ie){

String s=(String)ie. getItem();

 image=getImage(getCodeBase(),s+". gif");

 repaint();

    }

 }

答:小应用程序有一个组合框,其中有4个可选条目,分别是:"apple","banana","pear","watermelon"。

当选择其中一个条目时,可以显示相应的图片。

 

35. 阅读下列程序,请写出该程序的功能。

 import java. applet. *;import java. awt. *;

 public class Test35 extends Applet{

 public void paint(Graphics g){

 setSize(380,200);

 for(int i=0;i<1 0;i++){

Color myredcolor=new Color(i*25+5,0,0);

 g. setColor(myredcolor);

 g. fillRect(i*32+5,2,28,28);

        }

   }

 }

答:程序用不同的红色绘制10个小方块。

36. 阅读下列程序,请写出该程序的功能。

 import java. applet. *;import java.awt.*;import java. awt. event. *;

 public class Test36 extends Applet {

 final int inc=25;

 int max=500;int min=200;

 Dimension d;

 public void init() {

 addMouseListener(new MouseAdapter() ){

 public void mouseReleased(MouseEvent me){

 int w=(d. width+inc)>max?min:(d. width+inc);

 int h=(d. height+inc)>max?min:(d. height+inc);

 setSize(new Dimension(w,h));

 }

     }

 }

    public void paint(Graphics g){

 d=getSize();

 g. drawLine(0,0,d. width-1,d. height-1);

 g. drawLine(0,d. height-1,d. width-1,0);

 g. drawRect(0,0,d. width-1,d. height-1);

 }

}

答:程序沿着窗口内的边框绘制矩形,在矩形内绘制一个x,窗口开始大小为200*200,每用鼠标点击一次窗口变大,大至500*500时,点击又开始变小,直到原始大小。这一过程不断重复。

 

六、程序设计题(本大题共2小题,每小题6分,共1 2分)

37. 请编写方法int[]cubeArray(int[]a),返回一个新数组b,数组b的长度与参数数组的长度相同,其元素的值是参数数组对应各元素值的立方。

答:int[]cubeArray (int[]a){

int[]b = new int[a.length];

for (int i;i

b[i]=a[i]*a[i]*a[i];

}

return b;

}

38. 小应用程序设置一个文本区、一个文本框和两个按钮。用户在文本区中输入整数序列,单击求和按钮,程序对文本区中的整数序列进行求和,并在文本框中输出计算结果。单击第二个按钮,清除文本区和文本框中内容。

注:这里是给定程序的部分代码,你要编写的是actionPerformed(ActionEvent e)方法。

 import java.util. *;. . . . . . . . .

public class Test38 extends Applet implements ActionListener {

 JTextArea textA; JTextField textF; JButton b1,b2;

 public void init() {

 textA=new JTextArea("",5,10);

 textF=new JTextField("",10);

  b1=new JButton("求和");b2=new JButton("重新开始");

 b1. addActionListener(this);b2. addActionListener(this);

 add(textA);add(textF);add(b1);add(b2);

     ……..

}

public void actionPerformed(ActionEvent e){

    //请在以下位置编写代码(例题Example5_9)

  if(e.getSource( )==b1) {

String s = textA.getText( );

StringTokenizer tokens = new StringTokenizer(s);

int n = tokens.countTokens( );

int sum = 0;

int i;

for (i=0;i<=n-1 ;i++ ) {

String temp = tokens.nextToken( );

sum+=Integer.parseInt(temp);

}

textF.setText(""+sum);

}

else if(e.getSource( )==b2) {

textA.setText(null);

textF.setText(null);

}

}

}

更多自考本科考试复习资料可查看我办湖南自考 生网考试资料”栏目

 

湖南学历提升报名热线:
蒋老师QQ咨询 QQ咨询

TEL:蒋老师17773102705

2024年自考、成考、网教报名进行中,点击立即报考咨询>>

扫一扫下方二维码关注湖南自考生网微信公众号、客服咨询号,即时获取湖南自考、成考、网教最新考试资讯。

  • 湖南自考官方公众号

    关注公众号免费拿资料

  • 微信扫一扫咨询

  • 微信扫一扫咨询

免责声明

1、鉴于各方面资讯时常调整与变化,本网所提供的信息仅供参考,实际以考试院通知文件为准。

2、本网部分内容来源于网络,如有内容、版权等问题请与本网联系,我们将会及时处理。联系方式 :QQ(393848300)

3、如转载湖南自考生网声明为“原创”的内容,请注明出处及网址链接,违者必究!

市区导航: 长沙市自考  |   株洲市自考  |   湘潭市自考  |   衡阳市自考  |   邵阳市自考  |   岳阳市自考  |   常德市自考  |   张家界自考  |   益阳市自考  |   郴州市自考  |   永州市自考  |   怀化市自考  |   娄底市自考  |   湘西州自考  |  

特别声明:本站信息大部分来源于各高校,真实可靠!部分内容来自互联网,仅供参考!所有信息以实际政策和官方公告为准!

湖南求实创新教育科技有限公司 版权所有 湘ICP备18023047号-2