Java语言程序设计模拟试题及答案

时间:2017-04-21 16:24:00 java试题 我要投稿

Java语言程序设计模拟试题及答案

  Java语言程序设计详细介绍了Java语言的基本概念和编程方法,同时深入介绍了Java的高级特性。以下是由阳光网小编整理关于Java语言程序设计模拟试题的内容,希望大家喜欢!

Java语言程序设计模拟试题及答案

  Java语言程序设计模拟试题

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

  1. 在Java中,负责对字节代码解释执行的是() (1分)

  A:垃圾回收器

  B:虚拟机

  C:编译器

  D:多线程机制

  2. 在Java中,获取选择框是否被选中的方法是() (1分)

  A:getSelect()

  B:getSelected()

  C:isSelect()

  D:isSelected()

  3. 下列叙述中,正确的是() (1分)

  A:Java语言的标识符是区分大小写的

  B:源文件名与public类名可以不相同

  C:源文件名其扩展名为.jar

  D:源文件中public类的数目不限

  4. 要为程序中的按钮button设置一个热键alt+A,可以采用的代码是() (1分)

  A:button.setMnemonic(?A?)

  B:button.setMnemonic("alt+A")

  C:button.setToolTipText(?A?)

  D:button.setToolTipText("alt+A")

  5. 在Java中,设置字型应使用Graphics的()方法。 (1分)

  A:setfont(Font font)

  B:setFont(Font font)

  C:Font(String fontname,int style,int size)

  D:font(String fontname,int style,int size)

  6. 列表事件的事件源有两种,其中之一是单击列表中的选项,则与单击选项事件相关的接口是() (1分)

  A:ActionListener

  B:ListSelectionEvent

  C:ListSelectionListener

  D:addListSelectionListener

  7. 在Java语言的java.util包中,用于语言符号(单词)分析的类是() (1分)

  A:stringTokenizer

  B:StringTokenizer

  C:ToKenizer

  D:tokenizer

  8. 下列语句中,错误的Java语句是() (1分)

  A:连续出现多个分号

  B:try......catch语句

  C:include语句

  D:switch语句

  9. 在Java程序中,已将FileWriter对象接到BufferedWriter对象上,要实现缓冲式输出,可对BufferedWriter对象使用的方法是() (1分)

  A:read()

  B:write()

  C:readLine()

  D:writeLong()

  10. 接口的所有变量和方法分别默认为是() (1分)

  A:final static和public abstract

  B:final static和public final

  C:public static和public abstract

  D:public static和public final

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

  1. Java 源文件中最多只能有一个类,其他类的个数不限。 (2分)

  2. Java语言将类型分为基本类型和类型两种。 (2分)

  3. 当在一个容器中放入多个选择框之前,可以先用对象将多个选择框分组,使得同一时刻组内的多个选择框只允许有一个被选中。 (2分)

  4. Java语言使用字符集,共有65535个字符。 (2分)

  5. 给Java中的菜单项设置快捷键所使用的类中对应的构造方法为。 (2分)

  6. 类java.awt.Graphics的成员方法可以用来显示一幅图像。 (2分)

  7. Java语言为处理鼠标事件提供了两个接口,其中接口能处理鼠标拖动和鼠标移动两种事件。 (2分)

  8. 当在一个容器中放入多个选择框之前,可以先用对象将多个选择框分组,使得同一时刻组内的多个选择框只允许有一个被选中。 (2分)

  9. Java语言在实现C/S模式中,套接字分为两类,其中在Server端,类支持底层的网络通信。 (2分)

  10. Java语言使用字符集,共有65535个字符。 (2分)

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

  1. 程序运行结果为:

  2008年10月1日

  2009年2月2日

  请填空:

  public class Date

  {

  int y,m,d;

  Date()

  {

  y=2008;m=10;d=1;

  }

  Date(int yy,int mm,int dd)

  {

  y=yy;m=mm;d=dd;

  }

  public String toString()

  {

  return;

  }

  public static void main(String[] args)

  {

  Date d1=new Date();

  Date d2=new;

  System.out.println(d1.toString());

  System.out.println(d2.toString());

  }

  } (2分)

  2. 回文是指正读和反读都一样的字符串。方法f27(String s)的功能是判断一个字符串是否为回文。例如:s="abccba",该方法返回值为true;n="abc",

  该方法返回值为false。

  boolean f27(String s)

  {

  int i=0;

  while(i<s.length()/2)

  {

  String s1,s2;

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

  s2=s.substring();

  if(!(s1.equals(s2)))break;

  i++;

  }

  return;

  } (2分)

  3. 下列小应用程序实现如下功能:红点沿直线循环向下运动的同时,蓝点沿直线循环向上运动。

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

  public class Class3103 extends Applet implements Runnable

  {

  Thread redBall,blueBall;Graphics redPen,bluePen;

  int blueSeta=0,redSeta=0;

  public void init()

  {

  setSize(250,200);

  redBall=new Thread(this);blueBall=new Thread(this);

  redPen=getGraphics();bluePen=getGraphics();

  redPen.setColor(Color.red);bluePen.setColor(Color.blue);

  setBackground(Color.gray);

  }

  public void start()

  {

  redBall.start();

  }

  public void run()

  {

  int x,y;

  while(true)

  {

  if(Thread.currentThread()==redBall)

  {

  x=0;

  y=redSeta;

  redPen.setColor(Color.gray);

  redPen.fillOval(100+x,y,10,10);

  redSeta +=3;

  if(redSeta>=200) redSeta=0;

  x=0;

  y=redSeta;

  redPen.setColor(Color.red);

  redPen.fillOval(100+x,y,10,10);

  try {redBall.sleep(20);}

  catch(InterruptedException e){}

  }

  else if()

  {

  x=0;

  y=blueSeta;

  bluePen.setColor(Color.gray);

  bluePen.fillOval(150+x,100+y,10,10);

  blueSeta-=3;

  if(blueSeta<=-100) blueSeta=0;

  x=0;

  y=blueSeta;

  bluePen.setColor(Color.blue);

  bluePen.fillOval(150+x,100+y,10,10);

  try {blueBall.sleep(40);}

  catch(InterruptedException e){}

  }

  }

  }

  } (2分)

  4. 方法f2701(int n)返回十进制整数n的位数。

  f2701(int n)

  {

  int c;

  for(c=0;;c++)n/=10;

  return c;

  } (2分)

  5. 方法f2702(int n)返回2~n之间的所有质数的个数。

  int f2702(int n)

  {

  int i,j,count=0;

  for(i=2;i<=n;i++)

  {

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

  if (i%j==0)

  if(j==i);

  }

  return count;

  } (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. 阅读下列程序,写出程序的运行结果。

  public class Class3203

  {

  public static void main(String[] args)

  {

  String text="To be or not to be,that is the question;"

  +"Whether tis nobler in the mind to suffer"

  +"the slings and arrows of outrageous fortune,"

  +"or to take arms against a sea of troubles,"

  +"and by opposing end them?";

  int theCount=0;

  int index=-1;

  String theStr="the";

  index=text.indexOf(theStr);

  while(index>=0)

  {

  ++theCount;

  index+=theStr.length();

  index=text.indexOf(theStr,index);

  }

  System.out.println("The Text contains "+theCount+" thes");

  }

  } (4分)

  3. 阅读下列程序,写出程序的'运行结果。

  public class Class3303

  {

  static public void main(String args[])

  {

  boolean bTb1[][]=new boolean[4][];

  for (int i=0;i<bTb1.length;i++)

  {

  bTb1[i]=new boolean[i+1];

  }

  for (int i=0;i<bTb1.length;i++)

  {

  for(int k=0;k<bTb1[i].length;k++)

  {

  System.out.print(bTb1[i][k]+" ");

  }

  System.out.println("");

  }

  }

  } (4分)

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

  import javax.swing.*;

  import java.awt.event.*;

  public class Class3403 extends JFrame implements ActionListener

  {

  JButton b1=new JButton("b1");

  JButton b2=new JButton("b2");

  public Class3403()

  {

  super("Class3403");

  setSize(300,100);

  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

  JPanel panel=new JPanel();

  panel.add(b1);panel.add(b2);

  setContentPane(panel);

  b1.addActionListener(this);

  b2.addActionListener(this);

  setVisible(true);

  }

  public void actionPerformed(ActionEvent e)

  {

  Object s=e.getSource();

  if (s==b1)setTitle("Teacher");

  if(s==b2)setTitle("Student");

  }

  public static void main(String []args)

  {

  new Class3403();

  }

  } (4分)

  5. 阅读下列程序,写出程序功能。

  import java.applet.*;

  import java.awt.*;

  import java.awt.event.*;

  public class Class35004 extends Applet implements MouseListener

  {

  int r=-10, mouseFlag=0;

  static String mouseState[]={"AAA","BBB","CCC","DDD"};

  public void print(int x,int y)

  {

  Graphics g=getGraphics();

  r+=10;

  g.drawString(mouseState[mouseFlag]+",x="+x+",y="+y+"\n",10,r);

  }

  public void mousePressed(MouseEvent e)

  {mouseFlag=0;print(e.getX(),e.getY());}

  public void mouseReleased(MouseEvent e)

  {mouseFlag=1;print(e.getX(),e.getY());}

  public void mouseEntered(MouseEvent e)

  {mouseFlag=2;print(e.getX(),e.getY());}

  public void mouseExited(MouseEvent e)

  {mouseFlag=3;print(e.getX(),e.getY());}

  public void mouseClicked(MouseEvent e){}

  public void init()

  {

  setBackground(Color.red);

  addMouseListener(this);

  }

  } (4分)

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

  1. 设计一个应用程序,原始数据从程序界面的一个文本区输入,用户点击按钮后,在另一个文本区上输出排序后的数据,并将排序后的数

  据输出到文件中。已给出部分代码,请完成程序。

  import java.io.*;

  import java.util.*;

  import java.awt.*;

  import javax.swing.*;

  import java.awt.event.*;

  public class Class3805 implements ActionListener

  {

  JTextArea ta1=new JTextArea(10,20);

  JTextArea ta2=new JTextArea(10,20);

  JButton butt=new JButton("SortAndSave");

  public static void main(String[] args)

  {

  new Class3805();

  }

  public Class3805()

  {

  JFrame myWin=new JFrame("Class3805");

  myWin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

  Container con=myWin.getContentPane();

  con.setLayout(new FlowLayout());

  con.setBackground(Color.blue);

  con.add(ta1);con.add(butt);con.add(ta2);

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

  butt.addActionListener(this);

  myWin.setVisible(true);

  }

  public void actionPerformed(ActionEvent e)

  {

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

  }

  } (6分)

  2. 编写一个方法f3702(),要求该方法有一个元素类型为整型的数组参数,方法的功能是把参数数组中元素值相同的元素删成只剩一个,经

  过删除后会得到一个新数组,方法返回这个新数组。 (6分)

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

  1. 请写出程序处理按钮单击事件时,与按钮动作事件相关的接口,注册监视器的方法及要实现的接口方法。 (3分)

  2. 写出画多边形的两个常用方法。 (3分)

  3. Java语言在实现C/S模式中,套接字分为哪两类? (3分)

  4. 文本框(JTextField)是界面中用于输入和输出一行文本的区域。文本框处理程序的基本内容有哪五个方面? (3分)

  5. 在类的方法名前面和成员变量名前面加上public和protected有何区别? (3分)

  6. 在Java语言中,循环语句有哪三种? (3分)

  Java语言程序设计模拟试题参考答案

  一、单项选择题 (本大题共10小题,每小题1分,共10分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内

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

  1:参考答案:B

  参考解析:(P4)在任何平台上,Java源程序被Java编译器译成虚拟机能够识别的字节码。这样,只要有Java虚拟机的平台,

  就能解释执行Java字节码程序,从而实现Java程序与平台无关。

  试题内容:

  在Java中,负责对字节代码解释执行的是()

  A:垃圾回收器

  B:虚拟机

  C:编译器

  D:多线程机制

  2:参考答案:D

  参考解析:(P111)isSelected()方法当选择框被选中时返回true。所有的方法都是第一个字母小字,若是多个单词组成的名字,后面的每个单词首字母

  均大写。这是一个规律。没有A、B、C这三种方法。

  试题内容:

  在Java中,获取选择框是否被选中的方法是()

  A:getSelect()

  B:getSelected()

  C:isSelect()

  D:isSelected()

  3:参考答案:A

  参考解析:(P8)源文件中如果有public类,则源文件名与public类名必须相同;源文件名其扩展名为.java;源文件中public类的数目不能多于一个。

  试题内容:

  下列叙述中,正确的是()

  A:Java语言的标识符是区分大小写的

  B:源文件名与public类名可以不相同

  C:源文件名其扩展名为.jar

  D:源文件中public类的数目不限

  4:参考答案:A

  参考解析:(P111)

  试题内容:

  要为程序中的按钮button设置一个热键alt+A,可以采用的代码是()

  A:button.setMnemonic(?A?)

  B:button.setMnemonic("alt+A")

  C:button.setToolTipText(?A?)

  D:button.setToolTipText("alt+A")

  5:参考答案:B

  参考解析:(P138)

  试题内容:

  在Java中,设置字型应使用Graphics的()方法。

  A:setfont(Font font)

  B:setFont(Font font)

  C:Font(String fontname,int style,int size)

  D:font(String fontname,int style,int size)

  6:参考答案:C

  参考解析:(P114)ActionListener是与双击选项事件相关的接口,注册监视器的方法是addActionListener(),接口方法是

  actionPerformed(ActionEvent e)。与单击选项事件相关的接口是ListSelectionListener,注册监视器的方法是

  addListSelectionListener(),接口方法是valueChanged(ListSelectionEvent e)。

  试题内容:

  列表事件的事件源有两种,其中之一是单击列表中的选项,则与单击选项事件相关的接口是()

  A:ActionListener

  B:ListSelectionEvent

  C:ListSelectionListener

  D:addListSelectionListener

  7:参考答案:B

  参考解析:(P77)

  试题内容:

  在Java语言的java.util包中,用于语言符号(单词)分析的类是()

  A:stringTokenizer

  B:StringTokenizer

  C:ToKenizer

  D:tokenizer

  8:参考答案:C

  参考解析:(P20)本题考核知识点是Java语句。在Java语言中连续出现多个分号不是一种错误,编译系统认为每个单独的分号都是一个空语句。B答案

  是捕获异常的语句。D答案是多分支选择语句。在Java中没有include语句。

  试题内容:

  下列语句中,错误的Java语句是()

  A:连续出现多个分号

  B:try......catch语句

  C:include语句

  D:switch语句

  9:参考答案:B

  参考解析:(P179)本题考核知识点是用缓冲式输出。采用缓冲式输出时,write()方法只是将字符串写入到系统内设的缓冲区,待缓冲区满后,系统自

  动将缓冲区中内容写入到文件。如果想立即写入到文件,则需要调用flush()方法。

  试题内容:

  在Java程序中,已将FileWriter对象接到BufferedWriter对象上,要实现缓冲式输出,可对BufferedWriter对象使用的方法是()

  A:read()

  B:write()

  C:readLine()

  D:writeLong()

  10:参考答案:A

  参考解析:(P59)接口是一种只由常量定义和抽象方法组成的特殊类。用public修饰的接口是公共接口,可被所有的类和接口使用;而没有public修饰

  的接口只能被同一个包中的其他类和接口使用。接口的所有变量都默认为是final static属性;所有的方法都默认为public abstract属性。一个类通过使

  用implements声明自己使用一个或多个接口。实现多个接口时,接口名之间用逗号隔开。

  试题内容:

  接口的所有变量和方法分别默认为是()

  A:final static和public abstract

  B:final static和public final

  C:public static和public abstract

  D:public static和public final

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

  1:参考答案:(P5)public

  试题内容:

  Java 源文件中最多只能有一个_____类,其他类的个数不限。

  2:参考答案:(P45)引用

  试题内容:

  Java语言将类型分为基本类型和_____类型两种。

  3:参考答案:(P112)ButtonGroup

  试题内容:

  当在一个容器中放入多个选择框之前,可以先用_____对象将多个选择框分组,使得同一时刻组内的多个选择框只允许有一个被选中。

  4:参考答案:(P7)Unicode

  试题内容:

  Java语言使用_____字符集,共有65535个字符。

  5:参考答案:(P121)MenuShortcut(int key)

  试题内容:

  给Java中的菜单项设置快捷键所使用的类中对应的构造方法为_____。

  6:参考答案:(P149)drawImage()

  试题内容:

  类java.awt.Graphics的成员方法_____可以用来显示一幅图像。

  7:参考答案:(P130)MouseMotionListener

  试题内容:

  Java语言为处理鼠标事件提供了两个接口,其中_____接口能处理鼠标拖动和鼠标移动两种事件。

  8:参考答案:(P11)ButtonGroup

  [解析]当在一个容器中放入多个选择框,且没有用ButtonGroup对象将它们分组,则可以同时选中多个选择框。如果使用ButtonGroup对象将选择

  框分组,同一时刻组内的多个选择框只允许有一个被选中,称同一组内的选择框为单选框。单选框分组的方法是先创建ButtonGroup对象,然后将希

  望为同组的选择框添加到同一个ButtonGroup对象中。

  试题内容:

  当在一个容器中放入多个选择框之前,可以先用_____对象将多个选择框分组,使得同一时刻组内的多个选择框只允许有一个被选中。

  9:参考答案:(P193)ServerSocket

  试题内容:

  Java语言在实现C/S模式中,套接字分为两类,其中在Server端,_____类支持底层的网络通信。

  10:参考答案:(P7)Unicode

  试题内容:

  Java语言使用_____字符集,共有65535个字符。

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

  1:参考答案:y+"年"+m+"月"+d+"日"

  Date(2009,2,2),

  试题内容:

  程序运行结果为:

  2008年10月1日

  2009年2月2日

  请填空:

  public class Date

  {

  int y,m,d;

  Date()

  {

  y=2008;m=10;d=1;

  }

  Date(int yy,int mm,int dd)

  {

  y=yy;m=mm;d=dd;

  }

  public String toString()

  {

  return_____;

  }

  public static void main(String[] args)

  {

  Date d1=new Date();

  Date d2=new_____;

  System.out.println(d1.toString());

  System.out.println(d2.toString());

  }

  }

  2:参考答案:s.length()-i-1,s.length()-i

  i<s.length()/2?false:true

  ,

  试题内容:

  回文是指正读和反读都一样的字符串。方法f27(String s)的功能是判断一个字符串是否为回文。例如:s="abccba",该方法返回值为true;

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

  boolean f27(String s)

  {

  int i=0;

  while(i<s.length()/2)

  {

  String s1,s2;

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

  s2=s.substring(_____);

  if(!(s1.equals(s2)))break;

  i++;

  }

  return_____;

  }

  3:参考答案:blueBall.start();

  Thread.currentThread()==blueBall

  ,

  试题内容:

  下列小应用程序实现如下功能:红点沿直线循环向下运动的同时,蓝点沿直线循环向上运动。

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

  public class Class3103 extends Applet implements Runnable

  {

  Thread redBall,blueBall;Graphics redPen,bluePen;

  int blueSeta=0,redSeta=0;

  public void init()

  {

  setSize(250,200);

  redBall=new Thread(this);blueBall=new Thread(this);

  redPen=getGraphics();bluePen=getGraphics();

  redPen.setColor(Color.red);bluePen.setColor(Color.blue);

  setBackground(Color.gray);

  }

  public void start()

  {

  redBall.start();

  _____

  }

  public void run()

  {

  int x,y;

  while(true)

  {

  if(Thread.currentThread()==redBall)

  {

  x=0;

  y=redSeta;

  redPen.setColor(Color.gray);

  redPen.fillOval(100+x,y,10,10);

  redSeta +=3;

  if(redSeta>=200) redSeta=0;

  x=0;

  y=redSeta;

  redPen.setColor(Color.red);

  redPen.fillOval(100+x,y,10,10);

  try {redBall.sleep(20);}

  catch(InterruptedException e){}

  }

  else if(_____)

  {

  x=0;

  y=blueSeta;

  bluePen.setColor(Color.gray);

  bluePen.fillOval(150+x,100+y,10,10);

  blueSeta-=3;

  if(blueSeta<=-100) blueSeta=0;

  x=0;

  y=blueSeta;

  bluePen.setColor(Color.blue);

  bluePen.fillOval(150+x,100+y,10,10);

  try {blueBall.sleep(40);}

  catch(InterruptedException e){}

  }

  }

  }

  }

  4:参考答案:int

  n!=0

  ,

  试题内容:

  方法f2701(int n)返回十进制整数n的位数。

  _____f2701(int n)

  {

  int c;

  for(c=0;_____;c++)n/=10;

  return c;

  }

  5:参考答案:break;

  count++

  ,

  试题内容:

  方法f2702(int n)返回2~n之间的所有质数的个数。

  int f2702(int n)

  {

  int i,j,count=0;

  for(i=2;i<=n;i++)

  {

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

  if (i%j==0)_____

  if(j==i)_____;

  }

  return count;

  }

  四、程序分析题 (本大题共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:参考答案:运行结果:The Text contains 5 thes

  [解析]本题是检索字符串有多少个the组合。注意有3个the,另外还有whether和them也有the。

  试题内容:

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

  public class Class3203

  {

  public static void main(String[] args)

  {

  String text="To be or not to be,that is the question;"

  +"Whether tis nobler in the mind to suffer"

  +"the slings and arrows of outrageous fortune,"

  +"or to take arms against a sea of troubles,"

  +"and by opposing end them?";

  int theCount=0;

  int index=-1;

  String theStr="the";

  index=text.indexOf(theStr);

  while(index>=0)

  {

  ++theCount;

  index+=theStr.length();

  index=text.indexOf(theStr,index);

  }

  System.out.println("The Text contains "+theCount+" thes");

  }

  }

  3:参考答案:运行结果:

  false

  false false

  false false false

  false false false false

  试题内容:

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

  public class Class3303

  {

  static public void main(String args[])

  {

  boolean bTb1[][]=new boolean[4][];

  for (int i=0;i<bTb1.length;i++)

  {

  bTb1[i]=new boolean[i+1];

  }

  for (int i=0;i<bTb1.length;i++)

  {

  for(int k=0;k<bTb1[i].length;k++)

  {

  System.out.print(bTb1[i][k]+" ");

  }

  System.out.println("");

  }

  }

  }

  4:参考答案:程序运行后初始界面为:

  程序功能:是单击b1按钮窗口标题变为Teacher,单击b2按钮窗口标题变为Student。

  试题内容:

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

  import javax.swing.*;

  import java.awt.event.*;

  public class Class3403 extends JFrame implements ActionListener

  {

  JButton b1=new JButton("b1");

  JButton b2=new JButton("b2");

  public Class3403()

  {

  super("Class3403");

  setSize(300,100);

  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

  JPanel panel=new JPanel();

  panel.add(b1);panel.add(b2);

  setContentPane(panel);

  b1.addActionListener(this);

  b2.addActionListener(this);

  setVisible(true);

  }

  public void actionPerformed(ActionEvent e)

  {

  Object s=e.getSource();

  if (s==b1)setTitle("Teacher");

  if(s==b2)setTitle("Student");

  }

  public static void main(String []args)

  {

  new Class3403();

  }

  }

  5:参考答案:程序功能:小应用程序背景为红色,用于记录鼠标事件及鼠标当前坐标。当鼠标进入小应用程序窗口时,在指定的位

  置输出“CCC”及鼠标当前坐标;当鼠标离开小应用程序窗口时,在指定的位置输出“DDD”;当鼠标在小应用程序窗口

  中按下时,在指定的位置输出“AAA” 及鼠标当前坐标;当鼠标在小应用程序窗口按下后松开时,在指定的位置输出

  “BBB”及鼠标当前坐标。

  试题内容:

  阅读下列程序,写出程序功能。

  import java.applet.*;

  import java.awt.*;

  import java.awt.event.*;

  public class Class35004 extends Applet implements MouseListener

  {

  int r=-10, mouseFlag=0;

  static String mouseState[]={"AAA","BBB","CCC","DDD"};

  public void print(int x,int y)

  {

  Graphics g=getGraphics();

  r+=10;

  g.drawString(mouseState[mouseFlag]+",x="+x+",y="+y+"\n",10,r);

  }

  public void mousePressed(MouseEvent e)

  {mouseFlag=0;print(e.getX(),e.getY());}

  public void mouseReleased(MouseEvent e)

  {mouseFlag=1;print(e.getX(),e.getY());}

  public void mouseEntered(MouseEvent e)

  {mouseFlag=2;print(e.getX(),e.getY());}

  public void mouseExited(MouseEvent e)

  {mouseFlag=3;print(e.getX(),e.getY());}

  public void mouseClicked(MouseEvent e){}

  public void init()

  {

  setBackground(Color.red);

  addMouseListener(this);

  }

  }

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

  1:参考答案:String s=ta1.getText();

  StringTokenizer str=new StringTokenizer(s,"\\n\\t ");

  int n=str.countTokens();

  int a[]=new int[n];

  int i=-1,j;

  while(++i<n)

  {

  a[i]=Integer.parseInt(str.nextToken());

  }

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

  for(j=i+1;j<n;j++)

  {

  if(a[i]>a[j])

  {int t=a[i];a[i]=a[j];a[j]=t;}

  }

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

  {

  ta2.append(a[i]+" ");

  }

  RandomAccessFile out=null;

  try

  {

  out=new RandomAccessFile("3805.txt","rw");

  out.writeBytes(ta2.getText());

  }

  catch(FileNotFoundException e1){}

  catch(IOException e2){}

  试题内容:

  设计一个应用程序,原始数据从程序界面的一个文本区输入,用户点击按钮后,在另一个文本区上输出排序后的数据,并将排序后的数据

  输出到文件中。已给出部分代码,请完成程序。

  import java.io.*;

  import java.util.*;

  import java.awt.*;

  import javax.swing.*;

  import java.awt.event.*;

  public class Class3805 implements ActionListener

  {

  JTextArea ta1=new JTextArea(10,20);

  JTextArea ta2=new JTextArea(10,20);

  JButton butt=new JButton("SortAndSave");

  public static void main(String[] args)

  {

  new Class3805();

  }

  public Class3805()

  {

  JFrame myWin=new JFrame("Class3805");

  myWin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

  Container con=myWin.getContentPane();

  con.setLayout(new FlowLayout());

  con.setBackground(Color.blue);

  con.add(ta1);con.add(butt);con.add(ta2);

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

  butt.addActionListener(this);

  myWin.setVisible(true);

  }

  public void actionPerformed(ActionEvent e)

  {

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

  }

  }

  2:参考答案:int[] f3702(int[]a)

  {

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

  int i,j,k=0;

  b[k]=a[0];

  for(i=1;i<a.length;i++)

  {

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

  if (a[i]==b[j])break;

  if (j>k)

  {

  k++;

  b[k]=a[i];

  }

  }

  int []c=new int[k+1];

  for(i=0;i<=k;i++)c[i]=b[i];

  return c;

  }

  [解析]方法中最后又重新定义一个数组c,是为了确定最终返回的数组的大小。这里不能直接把b数组返回。

  试题内容:

  编写一个方法f3702(),要求该方法有一个元素类型为整型的数组参数,方法的功能是把参数数组中元素值相同的元素删成只剩一个,经过

  删除后会得到一个新数组,方法返回这个新数组。

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

  1:参考答案:(P92)相关接口是:ActionListener;注册监视器的方法是:addActionListener(this);在接口中要实现的方法是:

  public void actionPerformed(ActionEvent e)。

  试题内容:

  请写出程序处理按钮单击事件时,与按钮动作事件相关的接口,注册监视器的方法及要实现的接口方法。

  2:参考答案:(P142)drawPolygon(int x[],int y[],int n):用x、y数组对应的n对元素值作为n个点坐标,画一个多边形

  fillPolygon(int x[],int y[],int n) 用x、y数组对应的n对元素值作为n个点坐标,画一个多边形,并对这个多边

  形使用setColor()方法设置的颜色进行着色。

  试题内容:

  写出画多边形的两个常用方法。

  3:参考答案:(P193)

  (1)客户端使用的套接字类是Socket类。

  (2)服务器端使用的套接字类是ServerSocket类。

  试题内容:

  Java语言在实现C/S模式中,套接字分为哪两类?

  4:参考答案:(P102)

  ①声明一个文本框名。

  ②建立一个文本框对象。

  ③将文本框对象加入到某个容器。

  ④对需要控制的文本框对象注册监视器,监听文本框的输入结束事件(即输入回车键)。

  ⑤一个处理文本框事件的方法,完成结截获事件进行判断和处理。

  试题内容:

  文本框(JTextField)是界面中用于输入和输出一行文本的区域。文本框处理程序的基本内容有哪五个方面?

  5:参考答案:(P48)加上public,类外的任何方法都访问它们。加上protected后,对于不是这个类的子类和不在同一包中的别的类来说,不能

  访问它们。

  [解析](1)首先不论在类的方法名前面和成员变量名前面加上什么访问权限,这个类本身的方法都可以访问它们。(2)在类的方法名前面和成

  员变量名前面加上public访问权限,则类外的任何方法也都能访问这些加了public访问权限的方法和成员变量。(3)加上protected受保护访问权限,

  则只允许这个类的子类和同一包中的别的类可以访问这些方法和成员变量,对于不是这个类的子类且不在同一包中的类来说,不能访问这些方法和

  成员变量。

  试题内容:

  在类的方法名前面和成员变量名前面加上public和protected有何区别?

  6:参考答案:(P20)while语句、do...while语句、for语句。

  试题内容:

  在Java语言中,循环语句有哪三种?


【Java语言程序设计模拟试题及答案】相关文章:

1.Java程序设计模拟试题及答案

2.Java语言程序设计试题及答案

3.Java语言程序设计试题及答案(六)

4.Java语言程序设计试题及答案(九)

5.Java语言程序设计试题及答案(八)

6.Java程序设计模拟试题及参考答案

7.C语言程序设计模拟试题及答案

8.Java程序设计试题及答案