二级JAVA上机试题汇编※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※第01套:给定源程序://计算两个整数的乘法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( _________xVal_________ );y = Integer.parseInt( yVal );result = x * y;//*********Found********JOptionPane.____________showMessageDialog_____________( null, "两个数的积: " + result );System.exit( 0 );}}解题思路:Java程序修改如下:第1处:需转换成整数的字符串变量,需填入 xVal第2处:调用显示信息对话框,需填入 showMessageDialog2. 简单应用(1小题,计40分)本题的要:阅读Java_2.java程序,该程序的功能是将本程序代码打印输出。
完成程序编写并运行。
所得结果即本程序代码。
给定源程序:import java.io.*;public class Java_2{//*********Found********public static void main(String args[]) _____throws______ Exception{long filePoint = 0 ;String s;/*类RandomAccessFile可用于随机文件的读写随机文件的优势:可将每个连续的读写请求定位到文件的任何部分,并且读写请求所获得的数据段在文件中可以相去甚远*///新建一个RandomAccessFile的对象fileRandomAccessFile file = new RandomAccessFile("Java_2.java","r");long fileLength = file.length();while (filePoint<fileLength){//*********Found********s = ______file._____.readLine(); //从此文件读取文件的下一行System.out.println(s);filePoint = file.getFilePointer();}file.close();}}解题思路:Java程序修改如下:第1处:异常处理,需填入 throws第2处:随机存取文件,需填入 file.3. 综合应用(1小题,计30分)阅读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 + " 是一个素数 " );elsestatus.setText( val +" 不是一个素数 " );}});inputPanel.add( input );c.add( inputPanel, BorderLayout.NORTH );JTextArea primes = new JTextArea();ScrollPane p = new ScrollPane();//*********Found********p.add( _______primes_________ );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.___________addWindowListen_____________(new WindowAdapter()) {public void windowClosing( WindowEvent e ){System.exit( 0 );}});}}解题思路:Java程序修改如下:第1处:文本区域添加到窗口,需填入 primes第2处:注册监控器,需填入 addWindowListener※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※第02套:本题的要:使程序按下列格式打印:欢迎你参加Java考试注意:在输出的字符串中不含有空格。
给定源程序://用一个打印语句输出多行结果public class Java_1{public static void main( String args[] ){//*********Found********____________System.out.print_____________("欢迎\n你\n参加\nJava\n考试");}}解题思路:Java程序修改如下:第1处:在屏幕上打印输出,需填入 System.out.println 或 System.out.print2. 简单应用(1小题,计40分)本题的要:程序中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 \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(________new HandleButton()__________);\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(_____true_______);\TAB\TAB }}class HandleButton implements ActionListener{public void actionPerformed(ActionEvent e){\TAB System.out.println("The button is pressed!");}}解题思路:Java程序修改如下:第1处:为按钮注册监听器,需填入 new HandleButton()第2处:将窗体设为可见,需填入 true3. 综合应用(1小题,计30分)本题的要:该程序是测试以0作除数异常,在文本域中,显示出异常信息。