《计算机二级Java上机试题汇编.docx》由会员分享,可在线阅读,更多相关《计算机二级Java上机试题汇编.docx(130页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、二级JAVA上机试题汇编第01套:1.基本操作(1小题,计30分)注意:下面出现的“考生文件夹”均为USER%在考生文件夹中存有文件名为Java.java的文件,该程序是不完整的,请在注释行*Found*”下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行或改动其他己有语句内容。存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。本题的要求是:完善Java.java程序,并完成两个整数的输入,两个整数为:最后按确定键退出程序。给定源程序:计算两个整数的乘法import javax.swing.JOptionPane;public class Java_l public
2、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);)解题思
3、路:Java程序修改如下:第1处:需转换成整数的字符串变量,需填入xVal第2处:调用显示信息对话框,需填入showMessageDialog参考源程序:c:wexam28990001hlpsys参考答案Uava.java请把该程序复制到c:wexam28990001中,然后进行编译和执行。2 .简单应用(1小题,计40分)注意:下面出现的“考生文件夹”均为USER%在考生文件夹中存有文件名为Java_2.java的文件,该程序是不完整的,请在注释行“*Found*”下一行语句的下划线地方填入正确内容,然后删除卜划线,请勿删除注释行或改动其他已有语句内容。存盘时文件必须存放在考生文件夹下,不得
4、改变原有文件的文件名。本题的要求是:阅读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 (fil
5、ePointfileLength)/* 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
6、_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.*;impor
7、t 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”+“输入
8、值:”);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( input
9、Panel, 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
10、; 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 und*”下行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行或改动其他已有语句内容。存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。本题的要求是:该程序是测试以0作除数异常,在文本域中,显示出异常信息。完成程序并正常运行,运行结果如图所示。给定源程序:import java.awt.*;import java.awt.event.*;imp
11、ort 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);
12、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
13、 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
14、, 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处:事件处理方法,需填入actionPe
15、rformed第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*下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删
16、除注释行或其他已有语句内容。存盘时,文件必须存放在考生文件夹下,不得改变原有文件的文件名。给定源程序: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; icharArray.length; i+)out. writeChar(char Arr
17、ay 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处:关闭数据输入流
18、,需填入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个数,计算中奖几率,并将最终结果在命令行中显示,其形式类
19、似:你中奖的几率是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.
20、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处:需转换成整数的字符串变
21、量,需填入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文件,并进行调试(在命令行中使用appletvie
22、wer 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*Co
23、ntainer 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处:添加对象,需填入
24、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文件不完整,请在注释行“下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行或其他已有语句内容。存盘时,文件必须存放在考生文件
25、夹下,不得改变原有文件的文件名。给定源程序: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 Sim
26、pleTime 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 Stri
27、ng 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参考答
28、案Java_l.java请把该程序复制到c:wexam28990001中,然后进行编译和执行。2 .简单应用(1小题,计40分)注意:下面出现的“考生文件夹”均为USER%在考生文件夹中存有文件名为Java_2.java文件。请完善Java_2.java文件,并进行调试,使程序显示对话框如下:并在命令行中每隔10秒显示一下当前时间(如下图),直至用户在对话框按下确认按钮后退出。由于 Java_2.java 文件不完整,请在注释行”/*Found*下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行或其他已有语句内容。存盘时,文件必须存放在考生文件夹下,不得改变原有文件的文件名。给
29、定源程序: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 程序吗?)Sy
30、stem.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参考源
31、程序: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和Jav
32、a_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 n
33、umber 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 );数据相
34、加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中,然后进
35、行编译和执行。第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