全国计算机等级考试二级JAVA上机考试指导

更新时间:2023-03-14 08:01:02 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

全国计算机等级考试二级JAVA上机考试指导 上机考试的注意事项:

1.考生在上机考试时,应在规定的考试时间提前30分钟报到,交验准考证和身份证(军人身份证或户口本),同时抽签决定机考试的工作站号(或微机号);

2.考生提前5分钟进入机房,坐在由抽签决定上机考试的工作站号(或微机号)上,不允许乱坐位置;

3.在考试过程中若发生\死机\等异常现象,应举手示意,与监考人员联系,不得擅自关机;

4.不得擅自登录与己无关的考号;

5.不得擅自拷贝或删除与己无关的目录和文件; 6.考生不得在考场中交头接耳、大声喊叫等; 7.未到10分钟不得离开考场; 8.迟到10分钟者取消考试资格。

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

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

根据考试大纲要求,上机操作满分100分,时间90分钟。 上机题目类型包括以下三种: 一、基本操作题(30分)

主要测试考生对简单数据类型、复合数据类型和表达式的掌握能力。

主要测试考生使用JavaApplet程序和JavaApplet程序开发过程的能力。

主要测试考生对Java程序的输入输出的编程与操作能力。 主要测试考生对Java语言的基本语句的使用能力。 二、简单应用题(30分)

主要测试考生对Java语言的结构化设计的使用能力。 主要测试考生对使用语言中面向对象特性的能力。 主要测试考生对线程和编写用户界面程序的能力。 三、综合应用题(30分)

测试考生对包括基本操作和简单应用操作的综合适应能力。 13道经典例题:

1、下面是一个Application程序,其功能是点击框架上的\退出\按钮,弹出\确认\对话框,单击对话框的\确定\按钮退出程序。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。

注意:不改动程序的结构,不得增行删行。 importjava.awt.*; importjava.awt.event.*; importjavax.swing.*; importjavax.swing.event.*; publicclassDialogExample {

public static void main(String[]args) {

DialogFrame frame= new DialogFrame();

frame.setDefaultCloseOperation(JFrame.EXIT-ON-CLOSE); frame.show(); } }

class DialogFrame extends JFrame {

public DialogFrame() {

setTitle(″DialogExample″); setSize(WIDTH,HEIGHT);

Container contentPane=getContentPane();

JPanel buttonPanel=new JPanel(); logoutButton=new JButton(″退出″);

logoutButton.addActionListener(newLogoutButton()); buttonPanel.add(logoutButton);

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

private class LogoutAction implements ActionListener {

public void actionPerformed(ActionEventevent) {

int selection=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; }

2、下面是一个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(); } } }

3、下面是一个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

JButtonaddButton=newJButton(″add″+i); buttonPanel.add(addButton); }

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

publicstaticfinalintWIDTH=350; publicstaticfinalintHEIGHT=200; privateintbuttons; }

5、下面是一个Application程序,其功能是创建了一个框架,根据屏幕的相关尺寸设置框架的大小,并不能调节框架大小,设置\图片为框架图标。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。

注意:不改动程序的结构,不得增行删行。 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); } }

6、下面是一个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); } }

7、下面是一个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″);

} } }

8、下面是一个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,Str

ingshow) {

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; }

9、下面是一个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:

CODE=″FileReadApplet.class″ ARCHIVE=″FileReadApplet.jar″

WIDTH=400HEIGHT=300 VIEWASTEXT>

10下面是一个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

for(intj=2;j

if(i%j==0) continueLoop; } k++; if(k==0)

s=s+i+″,″+″\n″; else s=s+i+″,″;

}

out1.setText(b+″与″+a+″之间共有素数″+k+″个,输出如下:″);

out1.setText(s); } else

System.exit(0); } }

Applet-Primenumber.htm:

code=″Applet-Primenumber.class″ width=″500″ height=″300″

11、请完成下列程序:用于通过文本框接收用户输入的三个整数,并按照从大到小的顺序将其绘制出来。

注意:请勿改动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(); } }

12、请完成下列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:

13、请完成下列程序:用于创建了一个基本的框架,在框架上放置了一个标签,并设置了标签的属性。

注意:请勿改动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

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

本文来源:https://www.bwwdw.com/article/wtvx.html

Top