java语言

自学考试Java语言程序设计试题

时间:2022-12-03 20:49:38 java语言 我要投稿
  • 相关推荐

自学考试Java语言程序设计试题

  勤能补拙是良训,一分辛劳一分才。以下是百分网小编整理的自学考试Java语言程序设计试题,欢迎学习!

自学考试Java语言程序设计试题

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

  在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未 选均无分。

  1.在下述字符串中,不属于Java语言关键字的是 ( )

  A.float

  B.new

  C.java

  D.return

  2.Java语言中数值数据的类型能自动转换,按照从左到右的转换次序为 ( )

  A. byte→int→short→long→float→double

  B. byte→short→int→long→float→double

  C. byte→short→int→float→long→double

  D. short→byte→int→long→float→double

  3.在以下供选择的概念中,不属于面向对象语言概念的是 ( )

  A.消息

  B.模块

  C.继承

  D.多态性

  4.在下述Java语言语句中,错误的创建数组的方法是 ( )

  A.int intArray [ ]; intArray=new int[5];

  B.int intArray [ ]=new int[5];

  C.int [ ] intArray ={1,2,3,4,5};

  D.int intArray [5]={1,2,3,4.5};

  5.在Swing中,它的子类能用来创建框架窗口的类是 ( )

  A.JWindow

  B.JFrame

  C.JDialog

  D.JApplet

  6.MouseListener接口不能处理的鼠标事件是 ( )

  A.按下鼠标左键

  B.点击鼠标右键

  C.鼠标进入

  D.鼠标移动

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

  A.颜色

  B.字体

  C.风格

  D.字号

  8.在以下四个供选的整数中,能作为线程最高优先级的整数是 ( )

  A.0

  B.1

  C.10

  D.11

  9.Java语言可以用javax.swing包中的类JFileChooser来实现打开和保存文件对话框。用户通过文件对话框不可能获得的信息是 ( )

  A.文件名称

  B.文件路径

  C.文件内容

  D.文件对象

  10.在编写访问数据库的Java程序时,Connection对象的作用是 ( )

  A.用来表示与数据库的连接

  B.存储查询结果

  C.在指定的连接中处理SQL语句

  D.建立新数据库连接

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

  请在每小题的空格中填上正确答案。错填、不填均无分。

  11.Java的编译程序先将Java源程序翻译成与机器无关的__________。

  12.表达式¨23 & 18’’的值是__________。

  13.如果类A某个成员变量的类型是类B,则类A和类B之间是__________关系。

  14.Java语言提供了两个用于处理字符串的类,它们是__________。

  15.某程序用代码“JTextField text=new JTextField();”创建了一个文本框,并对这个文本框注册了监视器,则在监视器处理方法actionPerformed(ActionEvent e)中,判定是在这个文本框上发生事件的条件表达式是__________。

  16.一个水平滚动条对象的初始值是50,滑块的宽是10个像素,表示的范围是[0,250]。 创建这样的滚动条对象时,提供的5个参数依次是__________。

  17.要在JComponent 子类的组件中绘图,应重写__________方法。

  18.当线程使用完临界段后,为了使等待的线程恢复工作,需要调用的方法是__________。

  19.某程序想为一个long型整数文件构造随机读写对象,支持这个要求的类是__________。

  20.设已知服务器的IP地址和端口号,要创建一个套接字对象,支持这个要求的类是__________。

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

  21.请写出一段if语句,判断一个整数n是否为偶数。如果是偶数,输出“Yes.”;否则,输出“No.”。

  22.请写出接口定义的一般形式。

  23.请写出Java语言编写事件处理程序的两种主要方案。

  24.设已经有Graphics2D对象g2d, 请用Java语句绘制一个矩形rect,其左上角坐标是(20,30),宽是120,高是30。

  25.打开文件对话框时,还可以设置筛选条件,即指定文件的类型。请写出FileFilter类预设的两个方法。

  26.请写出URLConnection类提供的三个常用方法。

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

  27.方法void moveOddForword(int a[ ])的功能是将数组中的所有奇数移到所有偶数之前。

  void moveOddForword(int a[]){

  for(int i=0, odd=0;________;i++)

  if(________){

  int t=a[i];a[i]=a[odd];a[odd]=t;odd++;

  }

  }

  28.以下程序创建了一个窗口,然后在窗口内显示″Hello,World! ″。

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

  public class HelloWorld {

  public static void main(String[ ]ares) {

  TextFrame frame=new TextFrame();

  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

  frame. ________;

  }

  }

  class TextFrame extends JFrame {

  public TextFrame() { .

  setTitle(″HelloWorld″);

  setSize(WIDTH,HEIGHT);

  TextPanel panel=new TextPanel();

  Container contentPane=getContentPane();

  contentPane.add(panel);

  }

  public static final int WIDTH=300;

  public static final int HEIGHT= 200;

  }

  class TextPanel extends JPanel {

  public void paintComponent(Graphics g) {

  super. ________;

  g.drawString(″Hello,World! ″,x,y);

  }

  public int x=100; public int y=100;

  }

  29.以下是子窗口中设置一个菜单条类的定义。类的构造方法根据指定的窗口名称和菜单表设置菜单条,菜单和菜单项,当选中某个菜单项时,在文本框中显示相应菜单项被选中的信息。

  class MenuWindow extends JFrame implements ActionListener {

  public static JTextField text;

  public MenuWindow(String s,String menuList[][]) {

  setTitle(s);

  Container con=this.getContentPane();

  con.setLayout(new BorderLayout());

  this.setLocation(100,100); this.setSize(300,100);

  JMenuBar menubar=new JMenuBar();

  for(int i=0; i

  JMenu menu=new JMenu(menuList[i][0]);

  for(int j=1;j

  JMenultem anltem=new JMenultem(menuList[i][j]);

  anltem.setActionCommand(menuList[i][j]);

  anltem.________;menu.add(anltem);

  }

  menubar.__________;

  }

  text=new JTextField();setJMenuBar(menubar);

  con.add(text,BorderLayout.SOUTH);

  }

  public void actionPerformed(ActionEvent e){

  text.setText(e.getActionCommand()+″菜单项被选中! ″);

  }

  }

  public class Test29 extends Applet {

  MenuWindow window;

  String menuList[][]={{″体育″,″跑步″,″打蓝球″,″打乒乓″},

  {″娱乐″,″唱歌″,″跳舞″}};

  public void init() {

  window=new MenuWindow(″体育娱乐之窗″,menuList);

  window.setVisible(true);

  }

  }

  30.以下是一个用鼠标自由作画的小应用程序。最简单的方法是根据鼠标所在位置画点,跟随鼠标的移动,不断画圆点,就能实现用鼠标作画。

  import java.awt.*;

  import java.awt.event.*;

  public class Test30 extends java.applet.Applet implements MouseMotionListener {

  Color color;int lineSize=2:

  int x=-1,y=-l;

  public void init(){

  setLocation(30,20); setSize(300,300);

  setBackground(Color.green);addMouseMotionListener(this);

  }

  public void paint(Graphics g){

  if(x!=-1&&y!=-1) {

  g.setColor(color);g.fillOval(x,y,1ineSize,lineSize);

  }

  }

  public void mouseMoved(MouseEvent e){}

  public void mouseDragged(MouseEvent e){

  x=e.getX();y=e.getY();_________;

  }

  public void ________ (Graphics g){ paint(g);}

  31.以下定义的类ShareData用于管理多个线程共享数据data。一个线程生成data,另一个线程使用data。约定,新生成的data只有被另一个线程使用后,才能生成下一个data。反之,一个data被使用后,也不能再继续使用。所以,生成和使用data的线程之间需要互斥和同步。以下是管理上述使用方式的类,类内有要管理的共享数据,以及对共享数据的存操作putData()和取操作getData()。

  class ShareData{

  int data;∥共享数据

  boolean newData=false;∥有最近新生成data的标志

  synchronized int getData(){

  while(!newData){

  try{ _________;

  } catch(InterruptedExceptipn e){

  System.out.println(″因错误,而中断!″);

  }

  }

  newData=false; notify();return data;

  }

  synchronized void putData(int n){

  while(newData){

  try{wait();

  }catch(InterruptedException e){

  System.out.println(″因错误,而中断! ″);

  }

  }

  data=n; __________;

  notify(); return;

  }

  }

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

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

  class Parent{

  private void method 1 () { System.out.println(″Parent′s method 1()″);}

  public void method 2 () { System.out.println(″Parent′s method 2()″);method 1();}

  }

  class Child extends Parent {

  public void method l (){ System.out.println(″Child′s method 1 ()″);}

  public static void main(String args[]){ Parent p = new Child();p.method2();}

  }

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

  import java.util.*;import javax.swing.*;

  public class Test33{

  public static void main(String args[]){

  String str=(String)JOptionPane.showInputDialog(null,″请输入信息″,

  ″输入对话框″,JOptionPane.PLAIN_MESSAGE,null,null,null);

  StringTokenizer pas=new StringTokenizer(str, ″,″);

  int n=pas.countTokens();

  System.out.println(″输入的信息有单词:″+n+″个,全部单词如下:″);

  while(pas.hasMoreTokens()){

  String s=pas.nextToken();

  System.out.println(s);

  }

  }

  )

  34.阅读下列程序,请用示意图画出程序运行时呈现的界面。

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

  class MyPanel extends JPanel{

  JTextField textl,text2;

  MyPanel(String sl,String s2) {

  textl=new JTextFieId(s1); text2=new JTextField(s2);

  add(text 1); add(text2);

  }

  }

  class MySubPanel extends MyPanel {

  JTextField text;

  MySubPanel(String sl,String s2,String s3) {

  super(s1,s2);text = new JTextField(s3);add(text);

  }

  }

  public class Test34 {

  public static void main(String args[]) {

  JFrame mw=new JFrame(″一个示意窗口″);

  mw.setSize(350,150);

  Container con = mw.getContentPane();

  con.setLayout(new BorderLayout());

  MyPanel pl=new MyPanel(″文本框l″,″文本框2″);

  MySubPanel p2=new MySubPanel(″文本框3″,″文本框4″,″文本框5″);

  JTextArea text=new JTextArea(″这里是一个文本区″);

  con.add(pl,″North″); con.add(p2,″South″);

  con.add(text,″Center″);mw.setVisible(true);

  }

  }

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

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

  public class Class 1 extends Applet implements KeyListener{

  JButton button=new JButton(″开始″);

  JTextArea text=new JTextArea(5,20);

  public void init() {

  button.addKeyListener(this); add(button);add(text);

  }

  public void keyPressed(KeyEvent e){

  int t=e.getKeyCode();

  if(t>=KeyEvent.VK_A&& t<=KeyEvent.VK_Z) {

  text.append(″ ″+(char)t);

  }

  }

  public void keyTyped(KeyEvent e){}

  public void keyReleased(KeyEvent e){}

  }

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

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

  public class Test36 extends java.applet.Applet implements Runnable{

  Thread myThread = null;

  double seta=0.0;

  public void start() {

  setSize(500,400);

  if(myThread=null){ myThread=new Thread(this); myThread.start();}

  }

  public void run() {

  while(myThread!=null) {

  try {myThread.sleep(40);

  } catch(InterruptedException e){}

  seta+=3.0; if(seta>=360)seta=0; repaint();

  }

  }

  public void paint(Graphics g) {

  final double pi=3.14159; final double r = 100.0;

  int x0=250+(int)(r*Math.cos(3.1415926/180.0*seta));

  int y0=200+(int)(r*Math.sin(3.1415926/180.0*seta));

  g.setColor(Color.red); g.drawOval(x0,y0,10,10);

  }

  }

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

  37.请编写方法void strReverse(String str),该方法的功能是输出一个新字符串,新字符串字符排列顺序与原字符串str的字符排列顺序相反。例如,strReverse(″ABCD″) 所输出的结果是″DCBA″。请使用字符串与字节数组的相互转换方法进行设计。

  38.请设计实现如下用于输入学号和姓名的对话框界面,其中空白格是文本框,用于输入相应的内容。

  这里给出的是程序的一部分,你要编写的是类InputNoNameDialog的构造方法InputNoNameDialog(JFrame f,String s,JTextField t)。其中参数f是对话框的依赖窗口,s是对话框标题,t是依赖窗口中显示对话框输入内容的文本框。

  以下是类InputNoNameDialog的程序框架。

  class InputNoNameDialog extends JDialog implements ActionListener{

  JLabel title;JTextField textl,text2,mainText;JButton done;

  InputNoNameDialog(JFrame f String s,JTextField t) {

  super(f,s,true); mainText = t;Container con = getContentPane();

  title=new JLabel(s); textl=new JTextField(10);

  text2=new JTextField(10); con.setLayout(new GridLayout(3,2));

  con.setSize(200,100); setModal(false);

  //请在以下位置续写其余代码

  }

  public void actionPerformed(ActionEvent e) {

  //输入结束按确定按钮后,将对话框中输入的学号和姓名在它依赖窗口的文本框中显示。

  mainText.setText(″学号:″+textl.getText()+″ 姓名:″+text2.getText());

  setVisible(false);dispose();

  }

  }

【自学考试Java语言程序设计试题】相关文章:

自学考试证据法学试题10-19

自学考试英语(二)阅读试题及答案04-18

java语言程序设计实验报告10篇12-08

自学考试《现代语言学》自测试题带答案04-21

2024自学考试《美学》测试题及答案01-08

自学考试试题及答案:质量管理04-01

自学考试《针灸学》章节试题:经络总论10-28

2023自学考试《广告摄影》备考模拟试题及答案02-02

2022年自学考试英语一模拟考试题12-07

自学考试《应用文写作》测试题及答案04-29