收藏 分销(赏)

全国计算机等级考试二级java上机题库.doc

上传人:人****来 文档编号:9803879 上传时间:2025-04-08 格式:DOC 页数:273 大小:456.54KB 下载积分:20 金币
下载 相关 举报
全国计算机等级考试二级java上机题库.doc_第1页
第1页 / 共273页
全国计算机等级考试二级java上机题库.doc_第2页
第2页 / 共273页


点击查看更多>>
资源描述
二级JAVA上机试题汇编 第01套: 1. 基本操作(1小题,计30分) 注意:下面出现的“考生文件夹”均为%USER% 在考生文件夹中存有文件名为Java_1.java的文件,该程序是不完整的,请 在注释行“//**********Found**********”下一行语句的下划线地方填入 正确内容, 然后删除下划线,请勿删除注释行或改动其他已有语句内容。 存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。 本题的要求是: 完善Java_1.java程序,并完成两个整数的输入,两个整数为: 最后按确定键退出程序。 给定源程序: //计算两个整数的乘法 import javax.swing.JOptionPane; public class Java_1 { public static void main( String args[] ) { int x, y, result; String xVal, yVal; xVal = JOptionPane.showInputDialog( "输入第1个整数:" ); yVal = JOptionPane.showInputDialog( "输入第2个整数:" ); //*********Found******** x = Integer.parseInt( __________________ ); y = Integer.parseInt( yVal ); result = x * y; //*********Found******** JOptionPane._________________________( null, "两个数的积: " + result ); System.exit( 0 ); 解题思路: Java程序修改如下: 第1处:需转换成整数的字符串变量,需填入 xVal 第2处:调用显示信息对话框,需填入 showMessageDialog 参考源程序:c:\wexam\28990001\hlpsys\参考答案\Java_1.java 请把该程序复制到c:\wexam\28990001中,然后进行编译与执行。 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("Java_2.java","r"); long fileLength = file.length(); while (filePoint<fileLength){ //*********Found******** s = ___________.readLine(); System.out.println(s); filePoint = file.getFilePointer(); file.close(); 解题思路: Java程序修改如下: 第1处:异常处理,需填入 throws 第2处:随机存取文件,需填入 file 参考源程序:c:\wexam\28990001\hlpsys\参考答案\Java_2.java 请把该程序复制到c:\wexam\28990001中,然后进行编译与执行。 3. 综合应用(1小题,计30分) 注意:下面出现的“考生文件夹”均为%USER% 在考生文件夹中存有文件名为Java_3.java的文件,该程序是不完整的,请 在注释行“//**********Found**********”下一行语句的下划线地方填入 正确内容, 然后删除下划线,请勿删除注释行或改动其他已有语句内容。 存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。 本题的要求是: 阅读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 JFrame { public Java_3(){ super( "BitSets" ); final BitSet sieve = new BitSet( 1024 ); Container c = getContentPane(); final JLabel status = new JLabel(); c.add( status, BorderLayout.SOUTH ); JPanel inputPanel = new JPanel(); inputPanel.add( new JLabel( "从1 至 1023" + "输入值:" ) ); final JTextField input = new JTextField( 10 ); input.addActionListener( new ActionListener() { public void actionPerformed( ActionEvent e ){ int val = Integer.parseInt( input.getText() ); if ( sieve.get( val ) ) status.setText( val + " 是一个素数 " ); else status.setText( val + " 不是一个素数 " ); inputPanel.add( input ); c.add( inputPanel, BorderLayout.NORTH ); JTextArea primes = new JTextArea(); ScrollPane p = new ScrollPane(); //*********Found******** 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 ? "\n" : "\t" ); 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 ); 解题思路: Java程序修改如下: 第1处:文本区域添加到窗口,需填入 primes 第2处:注册监控器,需填入 addWindowListener 参考源程序:c:\wexam\28990001\hlpsys\参考答案\Java_3.java 请把该程序复制到c:\wexam\28990001中,然后进行编译与执行。 第02套: 1. 基本操作(1小题,计30分) 注意:下面出现的“考生文件夹”均为%USER% 在考生文件夹中存有文件名为Java_1.java的文件,该程序是不完整的,请 在注释行“//**********Found**********”下一行语句的下划线地方填入 正确内容, 然后删除下划线,请勿删除注释行或改动其他已有语句内容。 存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。 本题的要求是: 使程序按下列格式打印: 欢迎 你 参加 Java 考试 注意: 在输出的字符串中不含有空格。 给定源程序: //用一个打印语句输出多行结果 public class Java_1 public static void main( String args[] ) //*********Found******** _________________________("欢迎\n你\n参加\nJava\n考试"); 解题思路: Java程序修改如下: 第1处:在屏幕上打印输出,需填入 System.out.println 或 System.out.print 参考源程序:c:\wexam\28990001\hlpsys\参考答案\Java_1.java 请把该程序复制到c:\wexam\28990001中,然后进行编译与执行。 2. 简单应用(1小题,计40分) 注意:下面出现的“考生文件夹”均为%USER% 在考生文件夹中存有文件名为Java_2.java的文件,该程序是不完整的,请 在注释行“//**********Found**********”下一行语句的下划线地方填入 正确内容, 然后删除下划线,请勿删除注释行或改动其他已有语句内容。 存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。 本题的要求是: 程序中HandleButton类是"Please press me!"按钮的监听器类。 完成程序,使在点击"Please press me!"按钮时在命令窗口中打印 "The button is pressed!",并且在点击窗口右上方的关闭窗口按钮时能 够关闭窗口。 给定源程序: import java.awt.*; import java.awt.event.*; \TAB public class Java_2 extends Frame { \TAB \TAB \TAB public Java_2(String s){ \TAB \TAB super(s); \TAB } \TAB \TAB public static void main(String args[]){\TAB \TAB \TAB \TAB Java_2 fr = new Java_2("Testing"); \TAB \TAB Button b=new Button("Please press me!"); //*********Found******** b.addActionListener(__________________); \TAB \TAB fr.add(b); \TAB \TAB fr.setSize(200,200); \TAB \TAB \TAB \TAB \TAB \TAB fr.addWindowListener(new WindowAdapter(){ \TAB \TAB \TAB public void windowClosing(WindowEvent e) { \TAB \TAB \TAB \TAB System.exit(0); \TAB \TAB \TAB } \TAB \TAB }); //*********Found******** \TAB \TAB fr.setVisible(____________);\TAB \TAB } class HandleButton implements ActionListener{ public void actionPerformed(ActionEvent e){ \TAB System.out.println("The button is pressed!"); 解题思路: Java程序修改如下: 第1处:为按钮注册监听器,需填入 new HandleButton() 第2处:将窗体设为可见,需填入 true 参考源程序:c:\wexam\28990001\hlpsys\参考答案\Java_2.java 请把该程序复制到c:\wexam\28990001中,然后进行编译与执行。 3. 综合应用(1小题,计30分) 注意:下面出现的“考生文件夹”均为%USER% 在考生文件夹中存有文件名为Java_3.java的文件,该程序是不完整的,请 在注释行“//**********Found**********”下一行语句的下划线地方填入 正确内容, 然后删除下划线,请勿删除注释行或改动其他已有语句内容。 存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。 本题的要求是: 该程序是测试以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 JFrame public ExceptTestFrame() setTitle("ExceptTest"); Container contentPane = getContentPane(); ExceptTestPanel panel = new ExceptTestPanel(); contentPane.add(panel); pack(); class ExceptTestPanel extends Box public ExceptTestPanel() super(BoxLayout.Y_AXIS); group = new ButtonGroup(); addRadioButton("整数被零除", new ActionListener() //*********Found******** public void ___________________(ActionEvent event) //*********Found******** a[1] = 1 / (a.length - a.__________); textField = new JTextField(30); add(textField); private void addRadioButton(String s, ActionListener listener) JRadioButton button = new JRadioButton(s, false) protected void fireActionPerformed(ActionEvent event) try textField.setText("No exception"); super.fireActionPerformed(event); catch (Exception exception) //*********Found******** textField.________(exception.toString()); button.addActionListener(listener); add(button); group.add(button); private ButtonGroup group; private JTextField textField; private double[] a = new double[10]; 解题思路: Java程序修改如下: 第1处:事件处理方法,需填入 actionPerformed 第2处:被零除,测试异常处理,需填入 length 第3处:设置文本框文字,需填入 setText 参考源程序:c:\wexam\28990001\hlpsys\参考答案\Java_3.java 请把该程序复制到c:\wexam\28990001中,然后进行编译与执行。 第03套: 1. 基本操作(1小题,计30分) 注意:下面出现的“考生文件夹”均为%USER% 在考生文件夹中存有文件名为Java_1.java文件,请完善Java_1.java文件, 并进行调试,使程序结果为: a b c d e f g h i 由于Java_1.java文件不完整,请在注释行“//*********Found*********” 下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行 或其他已有语句内容。 存盘时,文件必须存放在考生文件夹下,不得改变原有文件的文件名。 给定源程序: import java.io.*; public class Java_1 { public static void main(String[] args) { char[] charArray = {'a','b','c','d','e','f','g','h','i'}; char c ; try{ //*********Found********** DataOutputStream out = new ______________________( new FileOutputStream("test.dat")); for(int i =0; i<charArray.length; i++){ out.writeChar(charArray[i]); out.close();\TAB \TAB DataInputStream in = new DataInputStream( //*********Found********** new FileInputStream("____________________")); while(in.available() != 0){ c=in.readChar(); System.out.print(c+" "); System.out.println(); //*********Found********** in.____________________(); }catch(IOException e){} 解题思路: Java程序修改如下: 第1处:创建数据输出流,需填入 DataOutputStream 第2处:文件输入流的文件名,需填入 test.dat 第3处:关闭数据输入流,需填入 close 参考源程序:c:\wexam\28990001\hlpsys\参考答案\Java_1.java 请把该程序复制到c:\wexam\28990001中,然后进行编译与执行。 2. 简单应用(1小题,计40分) 注意:下面出现的“考生文件夹”均为%USER% 在考生文件夹中存有文件名为Java_2.java文件,本题功能是在1-n之间 的自然数中,每次抽取k个数字来抽奖,计算中奖几率的算法为: n*(n-1)*(n-2)*·…* (n-k+1) / 1*2*3*…*k 请完善Java_2.java文件,并进行调试,使程序先显示输入窗口 如下: 然后从自然数1-20中,每次抽3个数,计算中奖几率,并将最终结果在命令行 中显示,其形式类似: 你中奖的几率是1/1140. Good luck! 由于Java_2.java文件不完整,请在注释行“//*********Found*********” 下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行 或其他已有语句内容。 存盘时,文件必须存放在考生文件夹下,不得改变原有文件的文件名。 给定源程序: import javax.swing.*; public class Java_2{ public static void main(String[] args){ //*********Found********** String input = ____________________.showInputDialog("你想抽几位数?"); //*********Found********** int k = Integer.parseInt(______________________); input = JOptionPane.showInputDialog("你想在自然数中抽的最高数是几?"); //*********Found********** int n = ___________________.parseInt(input); int lotteryOdds = 1; for (int i = 1; i <= k; i++) lotteryOdds = lotteryOdds * (n - i + 1)/i; //*********Found********** System.out.println("你中奖的几率是1/" + __________________ + ". Good luck!"); System.exit(0); 解题思路: Java程序修改如下: 第1处:输入对话框,需填入 JOptionPane 第2处:需转换成整数的字符串变量,需填入 input 第3处:将字符串input转换成整数的类方法所属于的类,需填入 Integer 第4处:屏幕打印内容,需填入 lotteryOdds 参考源程序:c:\wexam\28990001\hlpsys\参考答案\Java_2.java 请把该程序复制到c:\wexam\28990001中,然后进行编译与执行。 3. 综合应用(1小题,计30分) 注意:下面出现的“考生文件夹”均为%USER% 在考生文件夹中存有文件名为Java_3.java与Java_3.html文件,本题的功能 是用递归定义:n!=n*(n-1)! 计算0至10的阶乘。请完善Java_3.java文件, 并进行调试(在命令行中使用appletviewer Java_3.html,或者使用集成开 发环境),使小程序结果如下: 由于Java_3.java文件不完整,请在注释行“//*********Found*********” 下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行 或其他已有语句内容。 存盘时,文件必须存放在考生文件夹下,不得改变原有文件的文件名。 给定源程序: import java.awt.*; import javax.swing.*; //*********Found********** public class Java_3 extends _____________________{ JTextArea outputArea; public void init(){ outputArea = new JTextArea(); //*********Found********** Container c = ____________________(); //*********Found********** c.add( __________________ ); //计算0至10的阶乘 for ( long i = 0; i <= 10; i++ ) outputArea.append( i + "! = " + factorial( i ) + "\n" ); //阶乘的递归定义 public long factorial( long number ){ if ( number <= 1 ) return 1; else return number * factorial( number - 1 ); 解题思路: Java程序修改如下: 第1处:扩展网页,需填入 JApplet 第2处:创建对象,需填入 getContentPane 第3处:添加对象,需填入 outputArea 参考源程序:c:\wexam\28990001\hlpsys\参考答案\Java_3.java,Java_3.html 请把该程序复制到c:\wexam\28990001中,然后进行编译与执行。 第04套: 1. 基本操作(1小题,计30分) 注意:下面出现的“考生文件夹”均为%USER% 在考生文件夹中存有文件名为Java_1.java文件,请完善Java_1.java文件, 并进行调试,使程序运行后输出窗口如下: 由于Java_1.java文件不完整,请在注释行“//*********Found*********” 下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行 或其他已有语句内容。 存盘时,文件必须存放在考生文件夹下,不得改变原有文件的文件名。 给定源程序: import javax.swing.*; import java.text.DecimalFormat; public class Java_1{ //*********Found********** public static ___________________ main( String args[] ){ SimpleTime t = new SimpleTime( 12, 30, 19 ); //*********Found********** ___________________.showMessageDialog( null, t.buildString(), " \"this\" 引用示范", JOptionPaneRMATION_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 "this.toString(): " + ___________________() + "\ntoString(): " + toString() + "\nthis (with implicit toString() call): " + this; public String toString(){ DecimalFormat twoDigits = new DecimalFormat( "00" ); return twoDigits.format( this.hour ) + ":" + twoDigits.format( this.minute ) + ":" + twoDigits.format( this.second ); 解题思路: Java程序修改如下: 第1处:main方法的标识符,需填入 void 第2处:显示信息对话框函数,需填入 JOptionPane 第3处:返回的字符串内容,需填入 toString 或 this.toString 参考源程序:c:\wexam\28990001\hlpsys\参考答案\Java_1.java 请把该程序复制到c:\wexam\28990001中,然后进行编译与执行。 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_2{ public static void main(String[] args){ //*********Found********** ActionListener listener = new __________________(); Timer t = new Timer(10000, listener); t.start(); JOptionPane.showMessageDialog(null, "退出程序吗?"); System.exit(0); //*********Found********** 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:\wexam\28990001\hlpsys\参考答案\Java_2.java 请把该程序复制到c:\wexam\28990001中,然后进行编译与执行。 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.*; //*********Found********** public class Java_3 extends ____________________ { double sum; //存与的变量 //*********Found********** public void __________________(){ String firstNumber, //输入第1个字符串格式的数 secondNumber; //输入第2个字符串格式的数 double number1, //加数 number2; //被加数 //读入第1个输入的数 firstNumber = JOptionPane.showInputDialog( "Enter first floating-point value" ); //读入第2个输入的数 secondNumber = JOptionPane.showInputDialog( "Enter second floating-point value" ); //将字符串数据转换成双字长类型 number1 = Double.parseDouble( firstNumber ); number2 = Double.parseDouble( secondNumber ); //数据相加 sum = number1 + number2; public void paint( Graphics g ) { //用g.drawString给结果 g.drawRect( 15, 10, 270, 20 ); g.drawString( "数相加之与为:" + sum, 25, 25 ); 解题思路:
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 考试专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服