武汉工程大学级软件工程专业《Java语言程序设计》期末考试副本 71.docx

上传人:b****4 文档编号:27102857 上传时间:2023-06-27 格式:DOCX 页数:42 大小:27.12KB
下载 相关 举报
武汉工程大学级软件工程专业《Java语言程序设计》期末考试副本 71.docx_第1页
第1页 / 共42页
武汉工程大学级软件工程专业《Java语言程序设计》期末考试副本 71.docx_第2页
第2页 / 共42页
武汉工程大学级软件工程专业《Java语言程序设计》期末考试副本 71.docx_第3页
第3页 / 共42页
武汉工程大学级软件工程专业《Java语言程序设计》期末考试副本 71.docx_第4页
第4页 / 共42页
武汉工程大学级软件工程专业《Java语言程序设计》期末考试副本 71.docx_第5页
第5页 / 共42页
点击查看更多>>
下载资源
资源描述

武汉工程大学级软件工程专业《Java语言程序设计》期末考试副本 71.docx

《武汉工程大学级软件工程专业《Java语言程序设计》期末考试副本 71.docx》由会员分享,可在线阅读,更多相关《武汉工程大学级软件工程专业《Java语言程序设计》期末考试副本 71.docx(42页珍藏版)》请在冰豆网上搜索。

武汉工程大学级软件工程专业《Java语言程序设计》期末考试副本 71.docx

武汉工程大学级软件工程专业《Java语言程序设计》期末考试副本71

武汉工程大学2019-2020学年第一学期

2017级软件工程专业《Java语言程序设计

》期末考试试题

姓名:

_________年级:

_______级专业:

_________学号:

___________

一、单项选择题(本大题共10小题,每小题1分,共10分)在每小题列出的四个备选项中只有一个是符合题目要求

  的,请将其代码填写在题后的括号内。

错选、多选或未选均无分。

  1.如果发生多个线程形成一个等待环,这样,所有线程都陷入相互等待的状态。

这种循环等待现象称为()(1分)

  A:

互斥

  B:

同步

  C:

死锁

  D:

临界

  2.下面有关临界段叙述错误的是()(1分)

  A:

多线程互斥使用共享资源的程序段被称为临界段

  B:

临界段是一种加锁机制,与多线程共享资源有关

  C:

临界段的作用是在任何时该一个共享资源只能供一个线程使用

  D:

如果一个线程已进入某个共享资源的临界段,且还没有使用结束,其他进程可抢占这个共享的资源

  3.以下程序代码的输出结果是()

  intx=100;

  System.out.println("5.5"+x%8);(1分)

  A:

5.512

  B:

5.512.5

  C:

18

  D:

5.54

  4.在Java程序中有代码如下:

  System.out.println(

  (newStringTokenizer("Iamastudent","a")).countTokens());

  则输出结果为()(1分)

  A:

Iamastudent

  B:

2

  C:

3

  D:

4

  5.为8位字节流数据提供读操作支持的类是()(1分)

  A:

FileInputStream

  B:

FileOutputStrem

  C:

FileReader

  D:

FileWriter

  6.下列有关抽象类及抽象方法的叙述错误的是()(1分)

  A:

使用final修饰的类是抽象类

  B:

使用abstract修饰的方法是抽象方法

  C:

抽象类必须被继承才能使用,抽象类不可能有实例

  D:

抽象类可以没有抽象方法,但有抽象方法的类一定是抽象类

  7.在编写Java程序访问数据库的过程中,用来处理驱动程序的加载和建立新数据库连接的类是()(1分)

  A:

DriverManager类

  B:

Statement类

  C:

Connection类

  D:

ResultSet类

  8.在Java语言中执行如下语句后,i和j的值分别为()

  inti=10;intj=++i;(1分)

  A:

11和11

  B:

10和10

  C:

10和11

  D:

11和10

  9.包含当事件发生时从源传递给监视器的特定事件信息的对象是()(1分)

  A:

事件对象

  B:

源对象

  C:

监视器对象

  D:

接口

  10.在Java程序中有如下设置:

setBackground(Color.blue);g.setXORMode(Color.red);g.setColor(Color.blue);g.drawLine(300,300,500,

  500);则线的颜色是()(1分)

  A:

蓝色

  B:

红色

  C:

黄色

  D:

绿色

  二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。

错填、不填均无分。

  1.为选择框(JCheckBox)对象设定监视器的方法是:

(2分)

  2.使用ResultSet对象的方法可将数据表游针移到插入位置,输入数据后,用方法insertRow()插入记录。

(2分)

  3.题中横线处答案为:

(2分)

  4.列表的选择模型有单选和多选两种,设置列表选择模型的方法是。

(2分)

  5.多线程互斥使用共享资源的程序段,称为,它是一种加锁机制,与多线程共享资源有关,它的作用是在任何时该一个共享资源只能供一个线程使

  用。

(2分)

  6.流在某些应用中,不希望顺序读写流,而是需要采用随机访问方式,文件随机访问可利用类来实现。

(2分)

  7.创建包中URL对象可能会产生异常。

(2分)

  8.以下代码的输出结果是。

  System.out.println(5>4||3<4);(2分)

  9.Java语言中需要采用随机方式对文件进行读写,可利用类来实现。

(2分)

  10.在Java语言中,package语句必须出现在程序文件的。

(2分)

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

  1.某程序的界面包含了两个按钮button1和button2,一个文本框text。

要求实现当点击button1时,文本框中显示“请认真做题!

”;当点击button2

  时,文本框中内容消失。

  importjava.awt.*;

  importjavax.swing.*;

  importjava.awt.event.*;

  publicclassClass2801extendsJFrame

  {

  JButtonbutt1,butt2;

  JTextFieldtext1;

  JFramemyWin;

  publicClass2801(Strings)

  {

  myWin=newJFrame(s);

  myWin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭窗口时,整个应用程序关闭。

若省略,关闭窗口时程序不终止,相当于setVisible

  (false)

  Containercon=myWin.getContentPane();

  con.setLayout(newFlowLayout(FlowLayout.LEFT));

  butt1=newJButton("b1");

  butt2=newJButton("b2");

  butt1.addActionListener(this);

  butt2.addActionListener(this);

  con.add(butt1);con.add(butt2);

  text1=newJTextField(20);

  con.add(text1);

  myWin.pack();

  myWin.setVisible(true);

  }

  publicstaticvoidmain(String[]args)

  {

  Class2801my=newClass2801("Class2801");

  }

  publicvoidactionPerformed(ActionEvente)

  {

  if(e.getSource()==butt1)

  text1.setText("请认真做题!

");

  else

  ;

  }

  }(2分)

  2.以下是生成菜单项对象,以及菜单项选择事件处理方法的代码。

要求当菜单项singingItem被选中时,在文本框text中输出“唱歌菜单项被选中!

  的字样。

  …………

  singingItem=new("唱歌");//生成菜单项对象

  …………

  publicvoidactionPerformed(ActionEvente)

  {

  if(e.getSource()==singingItem)

  {

  text.setText(e.()+"菜单项被选中!

");

  }

  }(2分)

  3.回文整数是指正读和反读都一样的整数。

方法f2705(intn)的功能是判断十进制整数n是否为回文整数。

例如:

n=123321,该方法返回值为true;

  n=123,该方法返回值为false。

  booleanf2705(intn)

  {

  IntegerM=n;

  Strings=;

  inti=0;

  while(i

  {

  Strings1,s2;

  s1=s.substring(i,i+1);

  s2=s.substring(s.length()-i-1,s.length()-i);

  if(!

())break;

  i++;

  }

  if(i

  elsereturntrue;

  }(2分)

  4.程序运行结果如下图:

五个按钮按照紧凑方式显示在窗口中。

  importjava.awt.*;

  importjavax.swing.*;

  publicclassClass2805

  {

  publicstaticvoidmain(String[]args)

  {

  myWin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

  myWin.setBounds(100,200,400,200);

  Containercon=myWin.getContentPane();

  con.setBackground(Color.red);

  con.setLayout(newFlowLayout());

  JButtonbutton[]=newJButton[5];

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

  {

  button[i]=newJButton("第"+(i+1)+"个按钮");

  con.add(button[i]);

  }

  myWin.setVisible(true);

  }

  }(2分)

  5.下面小应用程序实现在一个文本框中输入整数后回车,另一个文本框中显示这个整数的平方。

  importjavax.swing.*;

  importjava.applet.*;

  importjava.awt.event.*;

  publicclassC2802extendsApplet

  {

  staticJTextFieldtext1,text2;

  CCc=newCC();

  publicvoidinit()

  {

  text1=newJTextField(10);

  text2=newJTextField(20);

  add(text1);add(text2);

  }

  }

  classCCimplementsActionListener

  {

  publicvoidactionPerformed(ActionEvente)

  {

  if(e.getSource()==C2802.text1)

  {

  longn=;

  C2802.text2.setText(n*n+"");

  }

  }

  }(2分)

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

  1.写出下面程序的运行结果。

  publicclassClass34ThreadTest

  {

  publicstaticvoidmain(Stringargs[])

  {

  Helloh=newHello();

  Threadt=newThread(h);

  t.start();

  }

  }

  classHelloimplementsRunnable

  {

  inti;

  publicvoidrun()

  {

  while(true)

  {

  System.out.println("Hello"+i++);

  if(i==5)break;

  }

  }

  }(4分)

  2.阅读程序,画出程序运行后的界面并写出程序的功能。

  importjava.awt.*;

  importjavax.swing.*;

  importjava.awt.event.*;

  publicclassClass3601implementsAdjustmentListener

  {

  JScrollBarmyBar;

  JLabellabel;

  publicClass3601(Strings)

  {

  JFramemyWin=newJFrame(s);

  Containercon=myWin.getContentPane();

  con.setLayout(newGridLayout(2,1));

  myBar=newJScrollBar(JScrollBar.HORIZONTAL,5,20,0,300);

  label=newJLabel(""+myBar.getValue(),JLabel.CENTER);

  myBar.addAdjustmentListener(this);

  con.add(label);

  con.add(myBar);

  myWin.setSize(300,100);

  myWin.setVisible(true);

  }

  publicvoidadjustmentValueChanged(AdjustmentEvente)

  {

  label.setText(""+e.getAdjustable().getValue());

  }

  publicstaticvoidmain(String[]args)

  {

  newClass3601("Class3601");

  }

  }(4分)

  3.阅读程序,画出程序运行后初始界面并写出程序功能。

  importjava.util.*;

  importjava.awt.*;

  importjavax.swing.*;

  importjava.awt.event.*;

  publicclassClass3503implementsActionListener

  {

  JButtonbutton1,button2;

  JLabellabel;

  JTextAreatextA;

  JTextFieldtext;

  intn;

  publicClass3503()

  {

  JFramemyWin=newJFrame("Class3503");

  myWin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

  Containercon=myWin.getContentPane();

  con.setLayout(newFlowLayout());

  textA=newJTextArea("",5,10);

  JScrollPanejsp=newJScrollPane(textA);

  con.add(jsp);

  button1=newJButton("sum");

  button2=newJButton("ave");

  button1.addActionListener(this);

  button2.addActionListener(this);

  con.add(button1);con.add(button2);

  label=newJLabel("计算结果:

");

  con.add(label);

  text=newJTextField(10);

  con.add(text);

  myWin.setBounds(300,300,600,200);

  myWin.setVisible(true);

  }

  intsum()

  {

  Stringstr=textA.getText();

  StringTokenizertokens=newStringTokenizer(str);

  n=tokens.countTokens();

  ints=0;

  for(inti=0;i

  {

  Stringt=tokens.nextToken();

  s+=Integer.parseInt(t);

  }

  returns;

  }

  floatavg()

  {

  return(float)sum()/n;

  }

  publicvoidactionPerformed(ActionEvente)

  {

  if(e.getSource()==button1)

  {

  label.setText("输入数的和");

  text.setText(""+sum());

  }

  if(e.getSource()==button2)

  {

  label.setText("输入数的平均值");

  text.setText(""+avg());

  }

  }

  publicstaticvoidmain(String[]args)

  {

  newClass3503();

  }

  }(4分)

  4.阅读下列程序,写出程序运行结果。

  publicclassClass3305

  {

  publicstaticvoidmain(Stringargs[])

  {

  byteb[]=newbyte[10];

  for(intk=0;k<10;k++)

  b[k]=(byte)(k+48);

  Strings1=newString(b);Strings2=newString(b,3,6);

  Strings3=newString("ABC");Strings4=newString("JAVA程序");

  bytec[]=s3.getBytes();byted[]=s4.getBytes();

  System.out.println(s2);

  System.out.println(s3);

  System.out.println(c.length);

  System.out.println(d.length);

  }

  }(4分)

  5.阅读下列程序,写出程序运行结果。

  importjava.util.StringTokenizer;

  publicclassC3301

  {

  publicstaticvoidmain(String[]args)

  {

  Stringss="publicstaticvoidmain";

  StringTokenizerpas=newStringTokenizer(ss,"");

  intn=pas.countTokens();

  System.out.println(n);

  Strings=pas.nextToken();

  for(pas.nextToken();pas.hasMoreTokens();s=pas.nextToken())

  System.out.println(s);

  }

  }

  (4分)

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

  1.设计一个应用程序,求整数文件intfile1.txt中各行整数的和,并把和存入到另一个文件intfile2.txt中。

设整数文件中全是整数,整数序列被

  分成行,各行整数个数不等且用空格分隔。

要求程序将文件中各行整数的和输出在另一个文件中。

(6分)

  2.一个Java小应用程序,界面有两个文本框、一个文本区和一个按钮,两个文本框用于输入整数,文本区用于输出结果。

按钮表示求两个整

  数之间的素数。

当两个文本框输入整数后,点击相应按钮,程序就将两个整数之间的所有素数用空格隔开每5个一行输出在文本区中。

以下是程序的

  大部分,其中监视按钮事件的方法未给出,试编写处理按钮事件的方法。

  注:

这里是给定部分的程序,你要编写的是actionPerformed(ActionEvente)方法。

  importjava.applet.*;

  importjavax.swing.*;

  importjava.awt.event.*;

  classMyPanelextendsJPanel

  {

  JTextFieldtext1,text2;

  JTextAreatextA;

  JButtonbutton;

  MyPanel()

  {

  text1=newJTextField(10);

  text2=newJTextField(10);

  textA=newJTextArea(10,10);

  button=newJButton("求两个整数之间的素数");

  add(text1);add(text2);add(button);add(textA);

  }

  }

  publicclassC3802extendsAppletimplementsActionListener

  {

  MyPanelpanel;

  publicvoidinit()

  {

  setSize(600,200);panel=newMyPanel();add(panel);

  panel.button.addActionListener(this);

  }

  publicvoidactionPerformed(ActionEvente)

  {

  //这里是你要编写的代码

  }

  }(6分)

  六、简答题(本大题共6小题,每小题3分,共18分)

  1.设有整型变量x和y的值分别为5和110。

请指出执行了下面循环语句后,变量x和y的值分别是多少?

  do{x=y/x;y=y-x;}while(y>=1);(3分)

  2.能将类同时声明为abstract和final吗?

为什么?

(3分)

  3.请写出一条语句,能够绘制一条垂直线段,上端点坐标为(200,300),长为100像素。

设调用的对象是类型为Graphics的g。

(3分)

  4.如果类A1是类A0的子类,类A2是类A1的子类,请指出以下代码行中哪些是不合法的?

  ①A0p1=newA1();

  ②A0p2=newA2();

  ③A1p3=newA0();

  ④A1p4=newA2();

  ⑤A2p5=newA0();

  ⑥A2p6=newA1();

  ⑦Objectob=newA1();(3分)

  5.请写出一条J

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1