全国计算机等级考试java二级上机真题40道.pdf_第1页
全国计算机等级考试java二级上机真题40道.pdf_第2页
全国计算机等级考试java二级上机真题40道.pdf_第3页
全国计算机等级考试java二级上机真题40道.pdf_第4页
全国计算机等级考试java二级上机真题40道.pdf_第5页
已阅读5页,还剩126页未读 继续免费阅读

全国计算机等级考试java二级上机真题40道.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

二级 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 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 (filePointfileLength) /*Found* s = _.readLine(); System.out.println(s); filePoint = file.getFilePointer(); file.close(); 解题思路: Java 程序修改如下: 第 1 处:异常处理,需填入 throws 第 2 处:随机存取文件,需填入 file 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 第 02 套: 1. 基本操作(1 小题,计 30 分) 注意:下面出现的“考生文件夹”均为%USER% 在考生文件夹中存有文件名为 Java_1.java 的文件,该程序是不完整的,请 在注释行“/*Found*”下一行语句的下划线地方填入 正确内容, 然后删除下划线,请勿删除注释行或改动其他已有语句内容。 存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。 本题的要求是: 使程序按下列格式打印: 欢迎 你 参加 Java 考试 注意: 在输出的字符串中不含有空格。 给定源程序: /用一个打印语句输出多行结果 public class Java_1 public static void main( String args ) /*Found* _(欢迎n 你n 参加nJavan 考试); 解题思路: Java 程序修改如下: 第 1 处:在屏幕上打印输出,需填入 System.out.println 或 System.out.print 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 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(整数被零除, newActionListener() /*Found* public void _(ActionEvent event) /*Found* a1 = 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 double10; 解题思路: Java 程序修改如下: 第 1 处:事件处理方法,需填入 actionPerformed 第 2 处:被零除,测试异常处理,需填入 length 第 3 处:设置文本框文字,需填入 setText 第 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; icharArray.length; i+) out.writeChar(charArrayi); 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 * 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 * 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 ? 第 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 引用示范, 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 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 * 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 * 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 ); 解题思路: Java 程序修改如下: 第 1 处:扩展网页,需填入 JApplet 第 2 处:方法的名,需填入 init HTML 程序修改如下: 第 1 处:applet 的名称,需填入 Java_3 第 05 套: 1. 基本操作(1 小题,计 30 分) 注意:下面出现的“考生文件夹”均为%USER% 在考生文件夹中存有文件名为 Java_1.java 文件,请完善 Java_1.java 文件, 并进行调试,使程序运行输出窗口如下: 由于 Java_1.java 文件不完整,请在注释行“/*Found*” 下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行 或其他已有语句内容。 存盘时,文件必须存放在考生文件夹下,不得改变原有文件的文件名。 给定源程序: import javax.swing.JOptionPane; public class Java_1 /*Found* public _ void main( String args ) PackageData d = new PackageData(); String output; output = 实例化后:n + d.toString(); d.x = 77; /修改包访问的数据 /*Found* _ = 祝您成功!; /修改包访问的数据 output += n 修改数据后的访问结果:n + d.toString(); /*Found* JOptionPane._( null, output,对包的访问示范, JOptionPane.INFORMATION_MESSAGE ); System.exit( 0 ); class PackageData int x; /访问包的实例变量 String s; /访问包的实例变量 /构造方法 public PackageData() x = 0; s = Hello; public String toString() return x: + x + s: + s; 解题思路: Java 程序修改如下: 第 1 处:main 方法的标识符,需填入 static 第 2 处:修改包访问的数据,需填入 d.s 第 3 处:显示信息对话框函数,需填入 showMessageDialog * 2. 简单应用(1 小题,计 40 分) 注意:下面出现的“考生文件夹”均为%USER% 在考生文件夹中存有文件名为 Java_2.java 文件,本题功能是在 JFrame 窗口 中,显示一个字符串并保证窗口正常关闭和退出。请完善 Java_2.java 文件, 并进行调试,使某次程序结果如下: 由于 Java_2.java 文件不完整,请在注释行“/*Found*” 下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行 或其他已有语句内容。 存盘时, 文件必须存放在考生文件夹下, 不得改变原有文件的文件名。 给定源程序: import javax.swing.*; import java.awt.*; public class Java_2 public static void main(String args) WelcomFrame frame = new WelcomFrame(); /* *Found* frame.setDefaultCloseOperation(JFrame._ ); frame.show(); /*Found* class WelcomFrame extends _ public WelcomFrame() setTitle(Java 等级考试); /*Found* _(DEFAULT_WIDTH, DEFAULT_HEIGHT); WelcomPanel panel = new WelcomPanel(); Container contentPane = getContentPane(); contentPane.add(panel); public static final int DEFAULT_WIDTH = 250; public static final int DEFAULT_HEIGHT = 100; /*Found* class WelcomPanel extends _ public void paintComponent(Graphics g) super.paintComponent(g); g.drawString(欢迎参加 Java 等级考试!,MESSAGE_X, MESSAGE_Y); public static final int MESSAGE_X = 60; public static final int MESSAGE_Y = 50; 解题思路: Java 程序修改如下: 第 1 处:窗体的退出关闭,需填入 EXIT_ON_CLOSE 第 2 处:扩展窗体,需填入 JFrame 第 3 处:设置窗体的大小,需填入 setSize 第 4 处:扩展窗体,需填入 JPanel 3. 综合应用(1 小题,计 30 分) 注意:下面出现的“考生文件夹”均为%USER% 在考生文件夹中存有文件名为 Java_3.java 的文件,该程序是不完整的,请 在注释行“/*Found*”下一行语句的下划线地方填入 正确内容, 然后删除下划线,请勿删除注释行或改动其他已有语句内容。 存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。 本题的要求是: 请阅读程序 Java_3.java,该程序是比较两个整数的大小,运行程序,完 成如下两个整数的输入: 给定源程序: /if 语句实例 import javax.swing.JOptionPane; public class Java_3 public static void main( String args ) String firstNumber, /存储第 1 个输入数据 secondNumber, /存储第 2 个输入数据 result; /字符串输出 int number1, /用来比较的第 1 个 int 型数据 number2; /用来比较的第 2 个 int 型数据 /以字符串格式读输入数据 firstNumber =JOptionPane.showInputDialog( 请输入第 1 个整数: ); secondNumber =JOptionPane.showInputDialog( 请输入第 2 个整数: ); /将字符串转换为 int 整数 /*Found* number1 = Integer.parseInt( _ ); number2 = Integer.parseInt( secondNumber ); /用空字符串初始化结果变量 result = ; if ( number1 = numb

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论