计算机二级Java上机试题汇编.docx
二级JAVA上机试题汇编第01套:1.基本操作(1小题,计30分)注意:下面出现的“考生文件夹”均为USER%在考生文件夹中存有文件名为Java.java的文件,该程序是不完整的,请在注释行"*Found*”下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行或改动其他己有语句内容。存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。本题的要求是:完善Java.java程序,并完成两个整数的输入,两个整数为:最后按确定键退出程序。给定源程序:计算两个整数的乘法import javax.swing.JOptionPane;public class Java_l public static void main( String args)int x, y, result;String xVal, yVal;xVal = JOptionPane.showInputDialog(”输入第1个整数:");yVal = JOptionPane.showInputDialog(”输入第2个整数:“);/* Jound* x = Integer.parselnt();y = Integer.parselnt( yVal);result = x * y;/*亭* found*JOptionPane.( null,“两个数的积:"+ result);System.exit(0);)解题思路:Java程序修改如下:第1处:需转换成整数的字符串变量,需填入xVal第2处:调用显示信息对话框,需填入showMessageDialog参考源程序:c:wexam28990001hlpsys参考答案Uava.java请把该程序复制到c:wexam28990001中,然后进行编译和执行。2 .简单应用(1小题,计40分)注意:下面出现的“考生文件夹”均为USER%在考生文件夹中存有文件名为Java_2.java的文件,该程序是不完整的,请在注释行“*Found*”下一行语句的下划线地方填入正确内容,然后删除卜划线,请勿删除注释行或改动其他已有语句内容。存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。本题的要求是:阅读Java_2.java程序,该程序的功能是将本程序代码打印输出。完成程序编写并运行。所得结果即本程序代码。给定源程序:import java.io.*;public class Java_2*Found*public static void main(String args)Exception(long filePoint =0;String s;RandomAccessFile file = new RandomAccessFile(uJava_2.java',/'r,');long fileLength = file.length();while (filePoint<fileLength)/* Feu nd *s =.readLine();System.out.println(s);filePoint = file.getFilePointer();)file.close();)I解题思路:Java程序修改如下:第1处:异常处理,需填入throws第2处:随机存取文件,需填入file参考源程序:c:wexam28990001hlpsys参考答案Java_2.java请把该程序复制到c:wexam28990001中,然后进行编译和执行。3 .综合应用(1小题,计30分)注意:下面出现的“考生文件夹”均为USER%在考生文件夹中存有文件名为Java_3.java的文件,该程序是不完整的,请在注释行”/*Fouiid*”下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行或改动其他已有语句内容。存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。本题的要求是:阅读Java_3.java程序,该程序利用BitSet算法,筛选得到1至1023之间的素数。完成程序并运行所得结果为:给定源程序:Java_3.java:用BitSet完成Eratosthenes筛网算法找1至1023之间的素数. import java.awt.*;import java.awt.event.*;import java.util.*;import javax.swing.*;public class Java_3 extends J Frame public Java_3()super( uBitSetsH);final BitSet sieve = new BitSet(1024);Container c = getContentPane();flnal JLabel status = new JLabel();c.add( status, BorderLayout.SOUTH );JPanel inputPanel = new JPanel();inputPanel.add( new JLabel(H A 1至1023”+“输入值:”);final JTextField input = new JTextField(10);input.addActionListener(new ActionListener()public void actionPerformed( ActionEvent e )int val = Integer.parselnt( input.getText();if ( sieve.get( val)status.setText( val +”是个素数");elsestatus.setText( val +"不是一个素数");I);inputPanel.add( input);c.add( inputPanel, BorderLayout.NORTH );JTextArea primes = new JTextArea();Scroll Pane p = new Scroll Pane();/* jz?ound *p.add();c.add( p, BorderLayout.CENTER );从1至1023设置所有位int size = sieve.size();for (int i =1; i < size; i+)sieve.set( i);执行Eratosthenes筛网算法int finalBit =(int) Math.sqrt( sieve.size();for (int i =2; i < finalBit; i+)if ( sieve.get( i)for (int j =2* i; j < size; j += i)sieve.clear( j);int counter =0;for (int i =1; i < size; i+)if ( sieve.get( i)primes.append( String.valueOf( i);primes.append(+counter %7=0? unM: ntM); setSize(300,250);show();)public static void main( String args)Java_3 app = new Java_3();* Found*app.(new WindowAdapter()public void windowClosing( WindowEvent e )System.exit(0););I)解题思路:Java程序修改如下:第1处:文本区域添加到窗口,需填入primes第2处:注册监控器,需填入addWindowListener参考源程序:c:wexam28990001hlpsys参考答案Java_3.java请把该程序复制到c:wexam28990001中,然后进行编译和执行。第02套:1 .基本操作(1小题,计30分)注意:下面出现的“考生文件夹”均为USER%在考生文件夹中存有文件名为Java.java的文件,该程序是不完整的,请在注释行”*Found*”下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行或改动其他已有语句内容。存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。本题的要求是:使程序按下列格式打印:欢迎你参加Java考试注意:在输出的字符串中不含有空格。给定源程序:用一个打印语句输出多行结果public class Java_l public static void main( String args)/* Found *("欢迎n你5参加nJavan考试");解题思路:Java程序修改如下:第1处:在屏幕上打印输出,需填入System.out.println或System.out.print 参考源程序:c:wexam28990001hlpsys参考答案5丫2.java 请把该程序复制到c:wexam28990001中,然后进行编译和执行。2 .简单应用(1小题,计40分)注意:下面出现的“考生文件夹”均为USER%在考生文件夹中存有文件名为Java_2.java的文件,该程序是不完整的,请在注释行”/*F()und*”下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行或改动其他已有语句内容。存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。本题的要求是:程序中HandleButton类是"Please press me!"按钮的监听器类。完成程序,使在点击"Please press me!"按钮时在命令窗口中打印"The button is pressed!",并且在点击窗口右上方的关闭窗口按钮时能够关闭窗口。给定源程序:import java.awt.*;import java.awt.event.*;TABpublic class Java_2 extends Frame TAB TABTAB public Java_2(String s)TAB TAB super(s);TAB TABTAB public static void main(String args)TAB TABTAB TAB Java_2 fr = new Java_2(HTestingu);TAB TAB Button b=new Button(°Please press me!*);/* nd *b.addActionListener();TAB TAB fr.add(b);TAB TAB fr.setSize(200,200);TAB TAB TAB TABTAB TAB fr.addWindowListener(new WindowAdapter()TAB TAB TAB public void windowClosing(WindowEvent e)TAB TAB TAB TAB System.exit(O);TAB TAB TAB TAB TAB );/* nd *TAB TAB fr.setVisible();TABTAB )class HandleButton implements ActionListenerpublic void actionPerformed(ActionEvent e)TAB System.out.println("The button is pressed!");)解题思路:Java程序修改如下:第I处:为按钮注册监听器,需填入new HandleButton()第2处:将窗体设为可见,需填入true参考源程序:c:wexam28990001hlpsys参考答案Java_2.java请把该程序复制到c:wexam28990001中,然后进行编译和执行。3 .综合应用(1小题,计30分)注意:下面出现的“考生文件夹”均为USER%在考生文件夹中存有文件名为Java_3.java的文件,该程序是不完整的,请在注释行“/*Fc>und*”下行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行或改动其他已有语句内容。存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。本题的要求是:该程序是测试以0作除数异常,在文本域中,显示出异常信息。完成程序并正常运行,运行结果如图所示。给定源程序:import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;public class Java_3(public static void main(String args)(ExceptTestFrame frame = new ExceptTestFrame();frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setVisible(true);)class ExceptTestFrame extends J Framepublic ExceptTestFrame()(setTitle(nExceptTestH);Container contentPane = getContentPane();ExceptTestPanel panel = new ExceptTestPanel();contentPane.add(panel); pack();class ExceptTestPanel extends Box public ExceptTestPanel() super(BoxLayout.Y_AXIS);group = new ButtonGroupO;addRadioButton("整数被零除”,newActionListener()* Found*(ActionEvent event)public void/* Jound* al=1/(a.length - a.);); textField = new JTextField(30); add(textField);)private void addRadioButton(String s, ActionListener listener)(J RadioButton button = new JRadioButton(s, false)(protected void fireActionPerformed(ActionEvent event)(try ( textField.setText(nNo exception11);super, fire ActionPerformed(e vent);catch (Exception exception)(/*,* Jound*textField.(exception.toStringO);); button.addActionListener(listener); add(button);group.add(button);)private ButtonGroup group;private JTextField textField;private doublet a = new doublet 10;解题思路:Java程序修改如下:第1处:事件处理方法,需填入actionPerformed第2处:被零除,测试异常处理,需填入length第3处:设置文本框文字,需填入setText参考源程序:c:wexam28990001Mlipsys参考答案Java_3.java请把该程序复制到c:wexam28990001中,然后进行编译和执行。第03套:1 .基本操作(1小题,计30分)注意:下面出现的“考生文件夹”均为USER%在考生文件夹中存有文件名为Java_l.java文件,请完善Java_l.java文件,并进行调试,使程序结果为:abcdefghi由于Java.java文件不完整,请在注释行"/*Found*"下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行或其他已有语句内容。存盘时,文件必须存放在考生文件夹下,不得改变原有文件的文件名。给定源程序:import java.io.*;public class Java_l public static void main(String args)char charArray ='a',b','c','d','e',f,'g','h','i'char c ;try(/* j7ound *DataOutputStream out = new(new FileOutputStream(ntest.datM);for(int i =0; i<charArray.length; i+)out. writeChar(char Array i );out.close();TAB TABDatalnputStream in = new DataInputStream(/* jpound*new FileInputStream(nwhile(in.available()!=0)c=in.readChar();System.out.print(c4-n n);System.out.println();*Found* in.0;catch(IOException e)解题思路:Java程序修改如下:第1处:创建数据输出流,需填入DataOutputStream第2处:文件输入流的文件名,需填入test.dat第3处:关闭数据输入流,需填入close参考源程序:c:wexam28990001hlpsys参考答案Java.java请把该程序复制到c:wexam28990001中,然后进行编译和执行。2 .简单应用(1小题,计40分)注意:下面出现的“考生文件夹”均为USER%在考生文件夹中存有文件名为Java_2.java文件,本题功能是在1-n之间的自然数中,每次抽取k个数字来抽奖,计算中奖几率的算法为: n*(n-l)*(n-2)*(n-k+1)/1*2*3*k请完善Java_2.java文件,并进行调试,使程序先显示输入窗口如下:然后从自然数1-20中,每次抽3个数,计算中奖几率,并将最终结果在命令行中显示,其形式类似:你中奖的几率是1/1140. Goodluck!山于 Java_2.java 文件不完整,请在注释行“/*Found*"下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行或其他已有语句内容。存盘时,文件必须存放在考生文件夹下,不得改变原有文件的文件名。给定源程序:import javax.swing.*;public class Java_2public static void main(String args)/* p?ou nd*.showInputDialog("你想抽几位数? ");.);String input =/* j7ound * int k = Integer.parselnt( input = JOptionPane.showInputDialog("你想在自然数中抽的最高数是几?");/* nd *.parselnt(input);int n =int lotteryOdds =1;for (int i =1; i <= k; i+)lotteryOdds = lotteryOdds *(n - i + l)/i;/* found*+ Good luck!)Syslem.out.println("你中奖的几率是1/"+System.exit(O);解题思路:Java程序修改如下:第1处:输入对话框,需填入JOptionPane第2处:需转换成整数的字符串变量,需填入input第3处:将字符串input转换成整数的类方法所属于的类,需填入Integer第4处:扉幕打印内容,需填入lotteryOdds参考源程序:c:wexam28990001hlpsys参考答案Uava_2.java请把该程序复制到c:wexam28990001中,然后进行编译和执行。3 .综合应用(1小题,计30分)注意:下面出现的“考生文件夹”均为USER%在考生文件夹中存有文件名为Java_3.java和Java_3.html文件,本题的功能是用递归定义:n!=n*(n-l)!计算。至10的阶乘。请完善Java_3.java文件,并进行调试(在命令行中使用appletviewer Java_3.html,或者使用集成开发环境),使小程序结果如下:山于 Java_3.java 文件不完整,请在注释行"/*Found*"下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行或其他已有语句内容。存盘时,文件必须存放在考生文件夹下,不得改变原有文件的文件名。给定源程序:import java.awt.*;import javax.swing.*;/*public class Java_3 extendsJTextArea outputArea;public void init()outputArea = new JTextArea();/* p7ou nd*Container c =();/* p?ou nd*c.add();计算0至10的阶乘for (long i =0; i <=10; i+)outputArea.append(i + M!= n + factorial( i)+ HnH);)阶乘的递归定义public long factorial( long number)if ( number <=1)return 1;elsereturn number * factorial number -1);)解题思路:Java程序修改如下:第1处:扩展网页,需填入JApplet第2处:创建对象,需填入getContentPane第3处:添加对象,需填入oulpulArea参考源程序:c:wexam28990001hlpsys参考答案Uava_3.java, Java_3.html请把该程序复制到c:wexam28990001中,然后进行编译和执行。第04套:1 .基本操作(1小题,计30分)注意:下面出现的“考生文件夹”均为USER%在考生文件夹中存有文件名为Javari.java文件,请完善Java_l.java文件,/* P*ou nd *并进行调试,使程序运行后输出窗口如下:山于Java.java文件不完整,请在注释行“下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行或其他已有语句内容。存盘时,文件必须存放在考生文件夹下,不得改变原有文件的文件名。给定源程序:import javax.swing.*;import java.text.DecimalFormat;public class Java_l /* jz?ound *public static main( String argslJ)SimpleTime t = new SimpleTime(12,30,19);/*nd *,showMessageDialog( null, t.buildStringO,H VthisV1引用示范”,JOptionPane.INFORMATION_MESSAGE);System.exit(0); class SimpleTime private int hour, minute, second;public SimpleTime( int hour, int minute, int second ) this.hour = hour;this.minute = minute;this.second = second;public String buildString()/* found* return Mthis.toString():”+ untoString():"+ toStringO +unthis (with implicit toStringO call):"+ this;public String toStringO DecimalFormat twoDigits = new DecimalFormat( u00M);return twoDigits.format( this.hour )+twoDigits.format( this.minute )+twoDigits.format( this.second );)解题思路:Java程序修改如下:第1处:main方法的标识符,需填入void第2处:显示信息对话框函数,需填入JOptionPane第3处:返回的字符串内容,需填入toString或this.toString参考源程序:c:wexam28990001hlpsys参考答案Java_l.java请把该程序复制到c:wexam28990001中,然后进行编译和执行。2 .简单应用(1小题,计40分)注意:下面出现的“考生文件夹”均为USER%在考生文件夹中存有文件名为Java_2.java文件。请完善Java_2.java文件,并进行调试,使程序显示对话框如下:并在命令行中每隔10秒显示一下当前时间(如下图),直至用户在对话框按下确认按钮后退出。由于 Java_2.java 文件不完整,请在注释行”/*Found*下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行或其他已有语句内容。存盘时,文件必须存放在考生文件夹下,不得改变原有文件的文件名。给定源程序:import java.awt.*;import java.awt.event.*;import java.util.*;import javax.swing.*;import javax.swing.Timer;public class Java_2public static void main(String args)/*nd *ActionListener listener = new();Timer t = new Timer(10000, listener);t.start();JOptionPane.showMessageDialog(null,"iU Hi 程序吗?)System.exit(O);class TimePrinter ActionListener*Found*public void actionPerformed(event)Date now = new Date();System.out.println("At the tone, the time is "+ now);* Found*.getDefaultToolkit().beep();)解题思路:Java程序修改如下:第1处:创建类对象,需填入TimePrinter第2处:接口的实现,需填入implements第3处:类型的对象,需填入ActionEvent第4处:需填入Toolkit参考源程序:c:wexam28990001hlpsys参考答案Java_2.java请把该程序复制到c:wexam28990001中,然后进行编译和执行。3 .综合应用(1小题,计30分)注意:下面出现的“考生文件夹”均为USER%在考生文件夹中存有文件名为Java_3.java和Java_3.html文件,本题的功能是由用户输入两个浮点数求和。请完善Java_3.java文件和Java_3.html文件 ,并进行调试(在命令行中使用appletviewer Java_3.html,或者使用集成开发环境),程序先显示输入如下:输入两个浮点数后,小程序窗口显示结果如:由于Java_3.java和Java_3.html文件都不完整,需分别进行修改,请在注释行“*Found*”下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行或其他已有语句内容。存盘时,文件必须存放在考生文件夹下,不得改变原有文件的文件名。给定源程序:import java.awt.Graphics;import javax.swing.*;/* j7ound *public class Java_3 extendsdouble sum;存和的变量/*nd *public void()String firstNumber,输入第1个字符串格式的数secondNumber;输入第2个字符串格式的数double number 1,力口数number2;被加数读入第1个输入的数firstNumber =JOptionPane.showInputDialog(“Enter first floating-point value11);读入第2个输入的数secondNumber =JOptionPane.showInputDialog("Enter second floating-point value");将字符串数据转换成双字长类型number 1= Double.parseDouble( firstNumber );number2= Double.parseDouble( secondNumber );数据相加sum = number 1+ number2;public void paint( Graphics g)用 g.drawString 给结果g.drawRect(15,10,270,20);g.drawString("数相力口之和为:"+ sum,25,25);解题思路:Java程序修改如下:第1处:扩展网页,需填入JApplet第2处:方法的名,需填入initHTML程序修改如下:第1处:applet的名称,需填入Java_3参考源程序:c:wexam28990001hlpsys参考答案Java_3.java, Java_3.html请把该程序复制到c:wexam28990001中,然后进行编译和执行。第05套:1.基本操作(1小题,计30分)注意:下面出现的“考生文件夹”均为USER%在考生文件夹中存有文件名为Java_l.java文件,请完善Java_l.java文件,并进行调试,使程序运行输出窗口如下:由于Java.java文件不完整,请在注释行“/*Found*"下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行或其他已有语句内容。存盘时,文件必须存放在考生文件夹下,不得改变原有文件的文件名。给定源程序:import javax.swing. JOptionPane;public class Java_l /*亭* found*public void main( String args)PackageData d = new PackageData();String output;output ="实例化后:n"+ d.toStringO;d.x =77;修改包访问的数据/* f。 nd *="祝您成功忙修改包访问的数据output +="n修改数据后的访问结果:n”+ d.toStringO;* Found*JOptionPane.( nul