您现在的位置:学赛首页 > 计算机等级考试 > 复习资料 > 正文
全国计算机等级考试二级JAVA上机考试指导
http://www.educity.cn 作者:不详 来源:黑龙江计算机等级考试网 2006年7月24日 发表评论 进入社区

全国计算机等级考试二级JAVA历年试题合集含答案(CHM文件下载)>>


   1.考生在上机考试时,应在规定的考试时间提前30分钟报到,交验准考证和身份证(军人身份证或户口本),同时抽签决定机考试的工作站号(或微机号);
  2.考生提前5分钟进入机房,坐在由抽签决定上机考试的工作站号(或微机号)上,不允许乱坐位置;
  3.在考试过程中若发生"死机"等异常现象,应举手示意,与监考人员联系,不得擅自关机;
  4.不得擅自登录与己无关的考号;
  5.不得擅自拷贝或删除与己无关的目录和文件;
  6.考生不得在考场中交头接耳、大声喊叫等;
  7.未到10分钟不得离开考场;
  8.迟到10分钟者取消考试资格。

  上机考试要求考生独立完成,考试过程中不得讲话,如果在考试中计算机出现故障、死机、死循环、电源故障等异常情况时,应举手示意与监考人员联系,不得擅自关机。考生不得登录与己无关的考号,不得擅自查阅、拷贝、删除与考试无关的目录和文件。

  考生答题完毕后应立即离开考场,不得干扰其他考生答题。

  注意:考生必须在自己的考生目录下进行考试,否则在评分时查询不到考试内容而影响考试成绩。

  根据考试大纲要求,上机操作满分100分,时间90分钟。

  上机题目类型包括以下三种:
  一、基本操作题(30分)
  主要测试考生对简单数据类型、复合数据类型和表达式的掌握能力。
  主要测试考生使用JavaApplet程序和JavaApplet程序开发过程的能力。
  主要测试考生对Java程序的输入输出的编程与操作能力。
  主要测试考生对Java语言的基本语句的使用能力。
  二、简单应用题(30分)
  主要测试考生对Java语言的结构化设计的使用能力。
  主要测试考生对使用语言中面向对象特性的能力。
  主要测试考生对线程和编写用户界面程序的能力。
  三、综合应用题(30分)
  测试考生对包括基本操作和简单应用操作的综合适应能力。
  下面是一个Application程序,其功能是点击框架上的"退出"按钮,弹出"确认"对话框,单击对话框的"确定"按钮退出程序。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。
注意:不改动程序的结构,不得增行删行。
  importjava.awt.*;
  importjava.awt.event.*;
  importjavax.swing.*;
  importjavax.swing.event.*;

  publicclassDialogExample
  {
  publicstaticvoidmain(String[]args)
  {
  DialogFrameframe=newDialogFrame();
  frame.setDefaultCloseOperation(JFrame.EXIT-ON-CLOSE);
  frame.show();
  }
 }

  classDialogFrameextendsJFrame
  {
  publicDialogFrame()
  {
  setTitle(″DialogExample″);
  setSize(WIDTH,HEIGHT);

  ContainercontentPane=getContentPane();

  JPanelbuttonPanel=newJPanel();
  logoutButton=newJButton(″退出″);
  logoutButton.addActionListener(newLogoutButton());
  buttonPanel.add(logoutButton);

  contentPane.add(buttonPanel,BorderLayout.SOUTH);
  }

  privateclassLogoutAction
  implementsActionListener
  {
  publicvoidactionPerformed(ActionEventevent)
  {
  intselection=JOptionPane.showConfirmDialog(
  DialogFrame.this,
  ″您确实要退出吗?″,″Logout″,
  JOptionPane.OK-CANCEL-OPTION,
  JOptionPane.WARNING-MESSAGE);

  if(Logout==JOptionPane.OK-OPTION)
  {
  System.exit(0);
  }
  }
  }

  publicstaticfinalintWIDTH=200;
  publicstaticfinalintHEIGHT=120;

  privateJButtonlogoutButton;
  }
  下面是一个Application程序,其功能是实现简单的自定义异常的功能,当主函数调用f()方法时,引发MyException异常,并输出信息。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。
注意:不改动程序的结构,不得增行删行。
  classMyExceptionextendsException
  {
  publicMyException()
  {
  }
  publicMyException(Stringmessage)
  {
  super(message);
  }
  }

  publicclassExceptionInherit
  {
  publicstaticvoidf()throwsMyException
  {
  System.out.println(″ThrowingMyException″);
  catchnewMyException(″thesecondconstructor!″);
  }
  publicstaticvoidmain(String[]args)
  {
  try
  {
  f();
  }
  catch(Exceptione)
  {
  e.printStackTrace();
  }
  }
  }
  下面是一个Application程序,其功能是创建一个基本框架,设置为FlowLayout布局管理器,根据命令行参数输入值创建相应数量的按钮。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。
注意:不改动程序的结构,不得增行删行。
  importjava.awt.*;
  importjava.awt.event.*;
  importjavax.swing.*;

  publicclassFlowLayoutTest
  {
  publicstaticvoidmain(String[]args)
  {
  if(args.length!=1)
  {
  System.out.println(″FlowLayout管理器″);
  System.exit(0);
  }

  StringbuttonString=args[0];

  intbuttonNumber=Byte.parseInt(buttonString);
  ButtonFrameframe=newButtonFrame(buttonNumber);
  frame.setDefaultCloseOperation(JFrame.EXIT-ON-CLOSE);
  frame.show();
  }
  }

  classButtonFrameextendsJFrame
  {
  publicButtonFrame(intbuttonNumber)
  {
  buttons=buttonNumber;
  setTitle(″FlowLayout管理器″);
  setSize(WIDTH,HEIGHT);

  JPanelbuttonPanel=newJPanel();

  for(inti=0;i<buttons;i+&nbsp;
  {
  JButtonaddButton=newJButton(″add″+i);
  buttonPanel.add(addButton);
  }

  ContainercontentPane=setContentPane();
  contentPane.add(buttonPanel);
  }

  publicstaticfinalintWIDTH=350;
  publicstaticfinalintHEIGHT=200;
  privateintbuttons;
  }
  下面是一个Application程序,其功能是创建了一个简单框架,并在框架FontPanel上的(x,y)位置绘制文本。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。
注意:不改动程序的结构,不得增行删行。
  importjava.awt.*;
  importjava.awt.font.*;
  importjavax.swing.*;

  publicclassFontSet
  {
  publicstaticvoidmain(String[]args)
  {
  FontFrameframe=newFontFrame();
  frame.setDefaultCloseOperation(JFrame.EXIT-ON-CLOSE);
  frame.show();
  }
  }

  classFontFrameextendsJFrame
  {
  publicFontFrame()
  {
  setTitle(″设置字体″);
  setSize(WIDTH,HEIGHT);

  FontPanelpanel=newFontPanel();
  ContainercontentPane=getContentPane();
  contentPane.add(panel);
  }
  publicstaticfinalintWIDTH=300;
  publicstaticfinalintHEIGHT=200;
  }

  classFontPanelextendsJPanel
  {
   publicvoidpaintComponent(paintg)
  {
  super.paintComponent(g);

  Fontf=newFont(″宋体″,Font.BOLD+Font.ITALIC,20);
  g.setFont(f);

  g.drawImage(″我已经绘制了字体!″,x,y);
  }

  publicintx=75;
  publicinty=100;
  }
  下面是一个Application程序,其功能是创建了一个框架,根据屏幕的相关尺寸设置框架的大小,并不能调节框架大小,设置"icon.gif"图片为框架图标。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。
注意:不改动程序的结构,不得增行删行。
  importjava.awt.*;
  importjavax.swing.*;

  publicclassFrameSizeSet
  {
  publicstaticvoidmain(String[]args)
  {
  FrameSizeframe=newFrameSize();
  frame.setDefaultCloseOperation(JFrame.EXIT-ON-CLOSE);
  frame.show();
  }
  }

  classFrameSizeextendsJFrame
  {
  publicFrameSize()
  {
  setTitle(″框架尺寸″);

  Toolkittk=Toolkit.getDefaultToolkit();
  DimensionscreenSize=tk.getScreenSize();
  intscreenHeight=screenSize.height;
  intscreenWidth=screenSize.width;

  setSize(screenWidth/3,screenHeight/3);

  setResizable(true);

  Imageimg=tk.setImage(″icon.gif″);
  setIconImage(img);
  }
  }
  下面是一个Application程序,其功能是从指定的URL上下载图片,并将图片绘制到创建的框架中。请根据"//"后的提示,改正程序中的错误(有下划线的语句),使程序能输出正确的结果。
注意:不改动程序的结构,不得增行删行。
  importjava.awt.*;
  importjava.awt.event.*;
  importjavax.swing.*;
  importjava.net.*;

  publicclassInternetAccess
  {
  publicstaticvoidmain(String[]args)
  {
  ImageFrameframe=newImageFrame();
  frame.setDefaultCloseOperation(JFrame.EXIT-ON-CLOSE);
  frame.show();
  }
  }

  classImageFrameextendsJFrame
  {
  publicstaticfinalintWIDTH=300;
  publicstaticfinalintHEIGHT=120;

  publicImageFrame()
  {
  setTitle(″InternetAccess″);
  setSize(WIDTH,HEIGHT);

  ImagePanelpanel=newImagePanel();
  ContainercontentPane=getContentPane();
  contentPane.add(panel);
  }
  }

  classImagePanelextendsJPanel
  {
  privateImageimage;
  URLurl;

  publicImagePanel()
  {
  try
  {
  //指定要获取的资源的URL。
  url=newurl(″http//www.waterpub.com.cn/images/cwpp-logo1.gif″);
  }
  catch(MalformedURLExceptione)
  {
  }
  //获取指定URL上的图像。
  image=Toolkit.getDefaultToolkit().getImage(url);
  }

  publicvoidpaintComponent(Graphicsg)
  {
  super.paintComponent(this);

  intimageWidth=image.getWidth(this);
  intimageHeight=image.getHeight(this);

  g.drawImage(image,0,0,null);
  g.drawString(″正在下载图像...″,100,80);
  }
  }
  下面是一个Application程序,其功能是通过InputStreamReader和BufferedReader类分别读取和输出字符串、整数、实型数。请根据"//"后的提示,改正程序中的错误(有下划线的语句),使程序能输出正确的结果。
注意:不改动程序的结构,不得增行删行。
  importjava.io.*;

  publicclassStandardIO
  {
  publicstaticvoidmain(String[]args)
  {
  try
  {
  BufferedReaderstdin=newBufferedReader(newInputStreamReader(System.out));
  //读取并输出字符串。
  System.out.print(″Enterastring″)
  System.out.printIn(″stdin.readLine()″)

  //读取并输出整型数据。
  System.out.print(″Enteraninteger:″);
  //将字符串解析为带符号的十进制整数。
  intnumber1=Integer.parseInteger(stdin.readLine());
  System.out.println(number1);

  //读取并输出double类型数据。
  System.out.print(″Enteradouble:″);

  //将字符串解析为带符号的double类型数据。
  doublenumber2=Double.parseDouble(stdin.readLine());
  System.out.println(number2);
  }
  catch(IOExceptione)
  {
  System.err.println(″IOException″);
  }
  }
  }
  下面是一个Application程序,其功能是在框架中放置了四个单选框和一个标签,选择不同单选框将在标签上显示不同的提示信息。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。
注意:不改动程序的结构,不得增行删行。
  importjava.awt.*;
  importjava.awt.event.*;
  importjavax.swing.*;
  importjavax.swing.event.*;

  publicclassRadioButtonExample
  {
  publicstaticvoidmain(String[]args)
  {
  RadioButtonFrameframe=newRadioButtonFrame();
  frame.setDefaultCloseOperation(JFrame.EXIT-ON-CLOSE);
  frame.show();
  }
  }

  classRadioButtonFrameextendsJFrame
  {
  publicRadioButtonFrame()
  {
  setTitle(″RadioButtonExample″);
  setSize(WIDTH,HEIGHT);

  ContainercontentPane=getContentPane();

  myLabel=newJLabel(″提示标签″,JLabel.CENTER);
  contentPane.add(myLabel,BorderLayout.CENTER);

  radionPanel=newJPanel();

  myButtonGroup=newButton();
  addRadioButton(″EAST″,true,″EAST″);
  addRadioButton(″SOUTH″,false,″SOUTH″);
  addRadioButton(″WEST″,false,″WEST″);
  addRadioButton(″NORTH″,false,″NORTH″);

  contentPane.add(radioPanel,BorderLayout.SOUTH);
  }

  publicvoidaddRadioButton(Stringname,booleandefaultRadio,Stringshow)
  {
  finalStringshowLabel=show;

  JRadioButtonbutton=newJRadioButton(name,defaultRadio);
  myButtonGroup.add(button);
  radioPanel.add(button);

  button.addActionListener(newActionListener()
  {
  publicvoidactionPerformed(ActionEventevt)
  {
  myLabel.Text(″你选择了:″+showLabel);
  }
  });
  }

  publicstaticfinalintWIDTH=300;
  publicstaticfinalintHEIGHT=140;

  privateJLabelmyLabel;
  privateButtonGroupmyButtonGroup;
  privateJPanelradioPanel;
  }
  下面是一个JApplet程序,其功能是在JApplet上加载一个多文本区域、一个文本区域和一个按钮,当在文本区域中输入任意文本文件的文件名,点击"打开"按钮,JApplet将把该文本文件内容读入到多文本区域。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。
注意:不改动程序的结构,不得增行删行。
  importjava.awt.*;
  importjava.awt.event.*;
  importjava.io.*;
  importjava.util.*;
  importjavax.swing.*;

  publicclassFileReadAppletextendsJFrame
  {
  publicFileReadApplet()
  {
  fileNameField=newJTextField(20);
  JPanelpanel=newJPanel();
  panel.add(newJLabel(″文件名:″));
  panel.add(fileNameField);
  JButtonopenButton=newJButton(″打开″);
  panel.add(openButton);
  openButton.addActionListener(
  newActionListener()
  {
  publicvoidactionPerformed(ActionEventevent)
  {
  loadFile(fileNameField.getText());
  }
  });

  ContainercontentPane=getContentPane();
  contentPane.add(panel,″North″);

  fileText=newJTextArea();
  contentPane.add(newJScrollPane(fileText),″Center″);
  }

  publicvoidloadFile(Stringfilename)
  {
  try
  {
  fileText.setText(″″);
  BufferedReaderin=newBufferedReader(newFileReader(filename));
Strings;
  while((s=in.writeLine())!=null)
  fileText.append(s+″\n″);
  in.close();
  }
  catch(IOExceptione)
  {
  fileText.append(e+″\n″);
  }
  catch(SecurityExceptione)
  {
  fileText.append(″发生异常,停止执行!″);
  }
  }

  privateJTextFieldfileNameField;
  privateJTextAreafileText;
  }

  FileReadApplet.html:
  </HEAD>

  <APPLET
  CODE=″FileReadApplet.class″
  ARCHIVE=″FileReadApplet.jar″
  WIDTH=400HEIGHT=300
  VIEWASTEXT>

  下面是一个applet程序,其功能是:通过在文本框(in1,in2)中输入两个整数,当点击按钮btn1时,判断两数之间的全部素数,在多文本区域(out1)中显示出来(设置out1为不可编辑),并在标签result上显示素数的个数。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。
注意:不改动程序的结构,不得增行删行。
  importjava.applet.*;
  importjava.awt.*;
  importjava.awt.event.*;

  publicclassApplet-PrimenumberextendsAppletimplementsActionListener
  {
  Labellb1,lb2,result;
  TextFieldin1,in2;
  TextAreaout1;
  Buttonbtn1,btn2;
  inta=0,b=0;
  Strings=″″;

  publicvoidinit()
  {
  result=newLabel(″输出框″);
  lb1=newLabel(″上限″);
  lb2=newLabel(″下限″);
  in1=newTextField(5);
  in2=newTextField(5);
  out1=newTextArea();
  out1.setEditable(true);
  btn1=newButton(″输出素数″);
  btn2=newButton(″关闭″);
  add(lb1);
  add(in1);
  add(lb2);
  add(in2);
  add(btn1);
  add(btn2);
  add(result);
  add(out1);
  btn1.addActionListener(this);
  btn2.addActionListener(this);
  }

  publicvoidactionPerformed(ActionEvente)
  {
  intk=0;
  if(e.getSource()==btn1)
  {
  out1.setText(″\n″);
  a=Integer.parseInt(in1.getText());
  b=Integer.parseInt(in2.getText());
  //判断是否素数,是则计数并加入输出子串s
  Loop:
  for(inti=b;i<A;I+&NBSP;+)
  {
  for(intj=2;j<I,J+&NBSP;+)
  {
  if(i%j==0)
  continueLoop;
  }
  k++;
  if(k%10==0)
  s=s+i+″,″+″\n″;
  else
  s=s+i+″,″;
  }
  out1.setText(b+″与″+a+″之间共有素数″+k+″个,输出如下:″);
  out1.setText(s);
  }
  else
  System.exit(0);
  }
  }

  Applet-Primenumber.htm:

  <APPLET
  code=″Applet-Primenumber.class″
  width=″500″
  height=″300″
  请完成下列程序:用于通过文本框接收用户输入的三个整数,并按照从大到小的顺序将其绘制出来。
  注意:请勿改动main主方法和其他已有语句内容,仅在下划线处填入适当语句。
  importjava.awt.*;
  importjava.applet.*;
  importjava.awt.event.*;

  publicclassSortFromBigToSmallextendsAppletimplementsActionListener{
  Labelprompt;
  TextFieldinput1,input2,input3;
  Buttonbtn;
  intmax,mid,min;
  booleanflag=false;

  publicvoidinit(){
  prompt=newLabel(″请输入三个整数:″);
  input1=newTextField(5);
  input2=newTextField(5);
  input3=newTextField(5);
  btn=newButton(″排序″);
  add(prompt);
  add(input1);
  add(input2);
  add(input3);
  add(btn);
  btn.addActionListener(this);

  }

  publicvoidpaint(Graphicsg){
  if(flag)
  g.

--------------------------------------------------------------------------------

  (″三个数从大到小的顺序为:″+max+″,″+mid+″,″+min,80,50);
}

  publicvoidactionPerformed(ActionEvente){
  inta=0,b=0,c=0;
  a=Integer.parseInt(input1.getText());
  b=Integer.parseInt(input2.getText());
  c=Integer.parseInt(input3.getText());

  max=a>=(b>=c?b:c)?a:(b>=c?b:c);
  min=

--------------------------------------------------------------------------------


  mid=a+b+c-max-min;

  flag=true;
  repaint();
  }
  }
  请完成下列JApplet程序:用于在JApplet中定义了一个菜单,并显示出来,选择不同的菜单项将输出不同的提示消息。
  注意:请勿改动其他已有语句内容,仅在下划线处填入适当语句。
  importjavax.swing.*;
  importjavax.swing.event.*;
  importjava.awt.*;
  importjava.awt.event.*;

  publicclassTestextends

--------------------------------------------------------------------------------


  {
  publicvoidinit()
  {
  JMenuBarmb=newJMenuBar();
  JMenufileMenu=newJMenu(″File″);

  fileMenu.add(″New...″);
  fileMenu.add(″Open...″);
  fileMenu.add(″Save″);
  fileMenu.add(″SaveAs..″);
  fileMenu.addSeparator();
  fileMenu.add(″Exit″);

--------------------------------------------------------------------------------


  setJMenuBar(mb);

  fileMenu.addMenuListener(newMenuListener()
  {
  publicvoidmenuCanceled(MenuEvente)
  {
  System.out.println(″menucanceled″);
  }
  publicvoidmenuSelected(MenuEvente)
  {
  System.out.println(″menuselected″);
  }
  publicvoidmenuDeselected(MenuEvente)
  {
  System.out.println(″menudeselected″);
  }
  });
  }
  }

  Test.html:

--------------------------------------------------------------------------------

--------------------------------------------------------------------------------

  请完成下列程序:用于创建了一个基本的框架,在框架上放置了一个标签,并设置了标签的属性。
注意:请勿改动main主方法和其他已有语句内容,根据"//"后的要求,仅在下划线处填入适当语句。
  importjavax.swing.*;
  importjava.awt.*;
  importjava.awt.event.*;

  publicclassTestlabel

--------------------------------------------------------------------------------

  JFrame
  {
  publicTestlabel()
  {
  super(″特殊标签″);

  ContainercontentPane=getContentPane();

  Iconicon=newImageIcon(″pic1.gif″,″这是一个带图片的标签″);

  JLabellabel=newJLabel(″标签″,icon,SwingConstants.CENTER);

  contentPane.add(

--------------------------------------------------------------------------------

  );//添加标签并将标签置于框架的中央。
  }
  publicstaticvoidmain(Stringargs[])
  {
  finalJFramef=newTestlabel();

  f.setBounds(100,100,300,250);
  f.setVisible(true);
  f.setDefaultCloseOperation(DISPOSE-ON-CLOSE);

  f.addWindowListener(newWindowAdapter())
  {
  publicvoidwindowClosed(WindowEvente)
  {
  System.exit(0);
  }
  });
  }
  }

  logoutButton.addActionListener(newLogoutAction());
  selection==JOptionPane.OK-OPTION
  thrownewMyException(″thesecondconstructor!″);
  catch(MyExceptione)
  intbuttonNumber=Integer.parseInt(buttonString);
  ContainercontentPane=getContentPane();
  publicvoidpaintComponent(Graphicsg)
  g.drawString(″我已经绘制了字体!″,x,y);
  setResizable(false);
  Imageimg=tk.getImage(″icon.gif″);
  url=newURL(″http://www.waterpub.com.cn/images/cwpp-logo1.gif″);
  super.paintComponent(g);
  BufferedReaderstdin=newBufferedReader(newInputStreamReader(System.in));
  intnumber1=Integer.parseInt(stdin.readLine());
  myButtonGroup=newButtonGroup();
  myLabel.setText(″你选择了:″+showLabel);
  PublicclassFileReadAppletextendsJApplet
  while((s=in.readLine())!=null)
  out1.setEditable(false);P
  result.setText(b+″与″+a+″之间共有素数″+k+″个,输出如下:″);
  drawString
  a<=(b<=c?b:c)?a:(b<=c?b:c);
  JApplet
  mb.add(fileMenu);
  extends
  label,BorderLayout.CENTER