全國計算機等級考試二級Java上機真題南開一百題_第1頁
全國計算機等級考試二級Java上機真題南開一百題_第2頁
全國計算機等級考試二級Java上機真題南開一百題_第3頁
全國計算機等級考試二級Java上機真題南開一百題_第4頁
全國計算機等級考試二級Java上機真題南開一百題_第5頁
已閱讀5頁,還剩128頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、二級JAVA上機試題匯編第01套:1. 基本操作(1小題,計30分)本題的要求是:完善Java_1.java程序,并完成兩個整數(shù)的輸入,兩個整數(shù)為:最后按確定鍵退出程序。給定源程序:/計算兩個整數(shù)的乘法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個整數(shù):" );yVal = JOptionP

2、ane.showInputDialog( "輸入第2個整數(shù):" );/*Found*x = Integer.parseInt( _ );y = Integer.parseInt( yVal );result = x * y;/*Found*JOptionPane._( null, "兩個數(shù)的積: " + result );System.exit( 0 );解題思路:Java程序修改如下:第1處:需轉(zhuǎn)換成整數(shù)的字符串變量,需填入 xVal第2處:調(diào)用顯示信息對話框,需填入 showMessageDialog2. 簡單應(yīng)用(1小題,計40分)本題的要求是:閱

3、讀Java_2.java程序,該程序的功能是將本程序代碼打印輸出。完成程序編寫并運行。所得結(jié)果即本程序代碼。給定源程序:import java.io.*;public class Java_2/*Found*public static void main(String args) _ Exceptionlong filePoint = 0 ;String s;RandomAccessFile file = new RandomAccessFile("Java_2.java","r");long fileLength = file.length();whi

4、le (filePoint<fileLength)/*Found*s = _.readLine();System.out.println(s);filePoint = file.getFilePointer();file.close();解題思路:Java程序修改如下:第1處:異常處理,需填入 throws第2處:隨機存取文件,需填入 file3. 綜合應(yīng)用(1小題,計30分)本題的要求是:閱讀Java_3.java程序,該程序利用BitSet算法,篩選得到1至1023之間的素數(shù)。完成程序并運行所得結(jié)果為:給定源程序:/Java_3.java: 用BitSet完成Eratosthenes

5、篩網(wǎng)算法找1至1023之間的素數(shù).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, B

6、orderLayout.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

7、() );if ( sieve.get( val ) )status.setText( val + " 是一個素數(shù) " );elsestatus.setText( val +" 不是一個素數(shù) " ););inputPanel.add( input );c.add( inputPanel, BorderLayout.NORTH );JTextArea primes = new JTextArea();ScrollPane p = new ScrollPane();/*Found*p.add( _ );c.add( p, BorderLayout.CENTE

8、R );/從1 至 1023設(shè)置所有位int size = sieve.size();for ( int i = 1; i < size; i+ )sieve.set( i );/執(zhí)行Eratosthenes篩網(wǎng)算法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 (

9、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 windowClos

10、ing( WindowEvent e )System.exit( 0 );解題思路:Java程序修改如下:第1處:文本區(qū)域添加到窗口,需填入 primes第2處:注冊監(jiān)控器,需填入 addWindowListener第02套:1. 基本操作(1小題,計30分)本題的要求是:使程序按下列格式打?。簹g迎你參加Java考試注意:在輸出的字符串中不含有空格。給定源程序:/用一個打印語句輸出多行結(jié)果public class Java_1public static void main( String args )/*Found*_("歡迎n你n參加nJavan考試");解題思路:Jav

11、a程序修改如下:第1處:在屏幕上打印輸出,需填入 System.out.println 或 System.out.print2. 簡單應(yīng)用(1小題,計40分)本題的要求是:程序中HandleButton類是"Please press me!"按鈕的監(jiān)聽器類。完成程序,使在點擊"Please press me!"按鈕時在命令窗口中打印"The button is pressed!",并且在點擊窗口右上方的關(guān)閉窗口按鈕時能夠關(guān)閉窗口。給定源程序:import java.awt.*;import java.awt.event.*;publi

12、c class Java_2 extends Frame public Java_2(String s) super(s); public static void main(String args)Java_2 fr = new Java_2("Testing");Button b=new Button("Please press me!");/*Found*b.addActionListener(_); fr.add(b); fr.setSize(200,200); fr.addWindowListener(new WindowAdapter() pu

13、blic void windowClosing(WindowEvent e) System.exit(0); );/*Found* fr.setVisible(_); class HandleButton implements ActionListenerpublic void actionPerformed(ActionEvent e) System.out.println("The button is pressed!");解題思路:Java程序修改如下:第1處:為按鈕注冊監(jiān)聽器,需填入 new HandleButton()第2處:將窗體設(shè)為可見,需填入 true3.

14、綜合應(yīng)用(1小題,計30分)本題的要求是:該程序是測試以0作除數(shù)異常,在文本域中,顯示出異常信息。完成程序并正常運行,運行結(jié)果如圖所示。給定源程序:import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;public class Java_3public static void main(String args)ExceptTestFrame frame = new ExceptTestFrame();frame.setDefaultCloseOperation(JFrame.EXIT_ON

15、_CLOSE);frame.setVisible(true);class ExceptTestFrame extends JFramepublic ExceptTestFrame()setTitle("ExceptTest");Container contentPane = getContentPane();ExceptTestPanel panel = new ExceptTestPanel();contentPane.add(panel);pack();class ExceptTestPanel extends Boxpublic ExceptTestPanel()su

16、per(BoxLayout.Y_AXIS);group = new ButtonGroup();addRadioButton("整數(shù)被零除", 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 bu

17、tton = new JRadioButton(s, false)protected void fireActionPerformed(ActionEvent event)trytextField.setText("No exception");super.fireActionPerformed(event);catch (Exception exception)/*Found*textField._(exception.toString();button.addActionListener(listener);add(button);group.add(button);p

18、rivate ButtonGroup group;private JTextField textField;private double a = new double10;解題思路:Java程序修改如下:第1處:事件處理方法,需填入 actionPerformed第2處:被零除,測試異常處理,需填入 length第3處:設(shè)置文本框文字,需填入 setText第03套:1. 基本操作(1小題,計30分)注意:下面出現(xiàn)的“考生文件夾”均為%USER%在考生文件夾中存有文件名為Java_1.java文件,請完善Java_1.java文件,并進行調(diào)試,使程序結(jié)果為:a b c d e f g h i給

19、定源程序: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(in

20、t i =0; i<charArray.length; i+)out.writeChar(charArrayi);out.close();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程序修

21、改如下:第1處:創(chuàng)建數(shù)據(jù)輸出流,需填入 DataOutputStream第2處:文件輸入流的文件名,需填入 test.dat第3處:關(guān)閉數(shù)據(jù)輸入流,需填入 close*2. 簡單應(yīng)用(1小題,計40分)注意:下面出現(xiàn)的“考生文件夾”均為%USER%在考生文件夾中存有文件名為Java_2.java文件,本題功能是在1-n之間的自然數(shù)中,每次抽取k個數(shù)字來抽獎,計算中獎幾率的算法為:n*(n-1)*(n-2)*·* (n-k+1) / 1*2*3*k請完善Java_2.java文件,并進行調(diào)試,使程序先顯示輸入窗口如下:然后從自然數(shù)1-20中,每次抽3個數(shù),計算中獎幾率,并將最終結(jié)果在命

22、令行中顯示,其形式類似:你中獎的幾率是1/1140. Good luck!給定源程序:import javax.swing.*;public class Java_2public static void main(String args)/*Found*String input = _.showInputDialog("你想抽幾位數(shù)?");/*Found*int k = Integer.parseInt(_);input = JOptionPane.showInputDialog("你想在自然數(shù)中抽的最高數(shù)是幾?");/*Found*int n = _.

23、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處:需轉(zhuǎn)換成整數(shù)的字符串變量,需填入 input第3處:將字符串input轉(zhuǎn)換成整數(shù)的類方法所屬于的類,需

24、填入 Integer第4處:屏幕打印內(nèi)容,需填入 lotteryOdds*3. 綜合應(yīng)用(1小題,計30分)注意:下面出現(xiàn)的“考生文件夾”均為%USER%在考生文件夾中存有文件名為Java_3.java和Java_3.html文件,本題的功能是用遞歸定義:n!=n*(n-1)! 計算0至10的階乘。請完善Java_3.java文件,并進行調(diào)試(在命令行中使用appletviewer Java_3.html,或者使用集成開發(fā)環(huán)境),使小程序結(jié)果如下:給定源程序:import java.awt.*;import javax.swing.*;/*Found*public class Java_3 e

25、xtends _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 <=

26、 1 )return 1;elsereturn number * factorial( number - 1 );解題思路:Java程序修改如下:第1處:擴展網(wǎng)頁,需填入 JApplet第2處:創(chuàng)建對象,需填入 getContentPane第3處:添加對象,需填入 outputArea?第04套:1. 基本操作(1小題,計30分)給定源程序:import javax.swing.*;import java.text.DecimalFormat;public class Java_1/*Found*public static _ main( String args )SimpleTime t =

27、 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 =

28、 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 t

29、woDigits.format( this.hour ) + ":" +twoDigits.format( this.minute ) + ":" +twoDigits.format( this.second );解題思路:Java程序修改如下:第1處:main方法的標(biāo)識符,需填入 void第2處:顯示信息對話框函數(shù),需填入 JOptionPane第3處:返回的字符串內(nèi)容,需填入 toString 或 this.toString*2. 簡單應(yīng)用(1小題,計40分)注意:下面出現(xiàn)的“考生文件夾”均為%USER%在考生文件夾中存有文件名為Java_2.jav

30、a文件。請完善Java_2.java文件,并進行調(diào)試,使程序顯示對話框如下:并在命令行中每隔 10秒顯示一下當(dāng)前時間(如下圖),直至用戶在對話框按下確認(rèn)按鈕后退出。給定源程序: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)/*Found*ActionListener listener = new _();Timer t

31、= 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*_.getDefau

32、ltToolkit().beep();解題思路:Java程序修改如下:第1處:創(chuàng)建類對象,需填入 TimePrinter第2處:接口的實現(xiàn),需填入 implements第3處:類型的對象,需填入 ActionEvent第4處:需填入 Toolkit*3. 綜合應(yīng)用(1小題,計30分)注意:下面出現(xiàn)的“考生文件夾”均為%USER%在考生文件夾中存有文件名為Java_3.java和Java_3.html文件,本題的功能是由用戶輸入兩個浮點數(shù)求和。請完善Java_3.java文件和Java_3.html文件,并進行調(diào)試(在命令行中使用appletviewer Java_3.html,或者使用集成開發(fā)

33、環(huán)境),程序先顯示輸入如下:輸入兩個浮點數(shù)后,小程序給定源程序:import java.awt.Graphics;import javax.swing.*;/*Found*public class Java_3 extends _ double sum; /存和的變量/*Found*public void _()String firstNumber, /輸入第1個字符串格式的數(shù)secondNumber; /輸入第2個字符串格式的數(shù)double number1, /加數(shù)number2; /被加數(shù)/讀入第1個輸入的數(shù)firstNumber =JOptionPane.showInputDialog(

34、"Enter first floating-point value" );/讀入第2個輸入的數(shù)secondNumber =JOptionPane.showInputDialog("Enter second floating-point value" );/將字符串?dāng)?shù)據(jù)轉(zhuǎn)換成雙字長類型number1 = Double.parseDouble( firstNumber );number2 = Double.parseDouble( secondNumber );/數(shù)據(jù)相加sum = number1 + number2;public void paint( G

35、raphics g ) /用g.drawString給結(jié)果g.drawRect( 15, 10, 270, 20 );g.drawString( "數(shù)相加之和為:" + sum, 25, 25 );解題思路:Java程序修改如下:第1處:擴展網(wǎng)頁,需填入 JApplet第2處:方法的名,需填入 initHTML程序修改如下:第1處:applet的名稱,需填入 Java_3第05套:1. 基本操作(1小題,計30分)給定源程序:import javax.swing.JOptionPane;public class Java_1/*Found*public _ void mai

36、n( String args )PackageData d = new PackageData();String output;output = "實例化后:n" + d.toString();d.x = 77; /修改包訪問的數(shù)據(jù)/*Found*_ = "祝您成功!" /修改包訪問的數(shù)據(jù)output += "n修改數(shù)據(jù)后的訪問結(jié)果:n" + d.toString();/*Found*JOptionPane._( null, output,"對包的訪問示范",JOptionPane.INFORMATION_MESS

37、AGE );System.exit( 0 );class PackageData int x; /訪問包的實例變量String s; /訪問包的實例變量/構(gòu)造方法public PackageData()x = 0;s = "Hello"public String toString()return "x: " + x + " s: " + s;解題思路:Java程序修改如下:第1處:main方法的標(biāo)識符,需填入 static第2處:修改包訪問的數(shù)據(jù),需填入 d.s第3處:顯示信息對話框函數(shù),需填入 showMessageDialog*2

38、. 簡單應(yīng)用(1小題,計40分)注意:下面出現(xiàn)的“考生文件夾”均為%USER%在考生文件夾中存有文件名為Java_2.java文件,本題功能是在JFrame窗口中,顯示一個字符串并保證窗口正常關(guān)閉和退出。請完善Java_2.java文件,并進行調(diào)試,使某次程序結(jié)果如下:給定源程序:import javax.swing.*;import java.awt.*;public class Java_2public static void main(String args)WelcomFrame frame = new WelcomFrame();/*Found*frame.setDefaultClo

39、seOperation(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_WID

40、TH = 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程

41、序修改如下:第1處:窗體的退出關(guān)閉,需填入 EXIT_ON_CLOSE第2處:擴展窗體,需填入 JFrame第3處:設(shè)置窗體的大小,需填入 setSize第4處:擴展窗體,需填入 JPanel3. 綜合應(yīng)用(1小題,計30分)本題的要求是:請閱讀程序Java_3.java,該程序是比較兩個整數(shù)的大小,運行程序,完成如下兩個整數(shù)的輸入:給定源程序:/if語句實例import javax.swing.JOptionPane;public class Java_3 public static void main( String args )String firstNumber, /存儲第1個輸入數(shù)據(jù)

42、secondNumber, /存儲第2個輸入數(shù)據(jù)result; /字符串輸出int number1, /用來比較的第1個int型數(shù)據(jù)number2; /用來比較的第2個int型數(shù)據(jù)/以字符串格式讀輸入數(shù)據(jù)firstNumber =JOptionPane.showInputDialog( "請輸入第1個整數(shù):" );secondNumber =JOptionPane.showInputDialog( "請輸入第2個整數(shù):" );/將字符串轉(zhuǎn)換為int整數(shù)/*Found*number1 = Integer.parseInt( _ );number2 = In

43、teger.parseInt( secondNumber );/用空字符串初始化結(jié)果變量result = ""if ( number1 = number2 )result = number1 + " = " + number2;if ( number1 != number2 )result = number1 + " != " + number2;if ( number1 < number2 )result = result + "n" + number1 + " < " + num

44、ber2;if ( number1 > number2 )result = result + "n" + number1 + " > " + number2;if ( number1 <= number2 )result = result + "n" + number1 + " <= " + number2;if ( number1 >= number2 )result = result + "n" + number1 + " >= " +

45、 number2;/顯示結(jié)果JOptionPane.showMessageDialog(null, result, "比較結(jié)果",/*Found*JOptionPane._ );System.exit( 0 );解題思路:Java程序修改如下:第1處:字符串轉(zhuǎn)換整數(shù),需填入 firstNumber第2處:顯示信息對話框的參數(shù),需填入 INFORMATION_MESSAGE第06套:1. 基本操作(1小題,計30分)本題的要求是:程序在對話框中打印結(jié)果如下:給定源程序:import javax.swing.JOptionPane; /導(dǎo)入JOptionPane類public

46、class Java_1 public static void main( String args )/*Found*_(null, "歡迎n你n參加nJavan考試!" );System.exit( 0 ); / 結(jié)束程序/* JOptionPane類的常用靜態(tài)方法如下:showInputDialog()showConfirmDialog()showMessageDialog()showOptionDialog()*/解題思路:Java程序修改如下:第1處:信息對話框,需填入 JOptionPane.showMessageDialog2. 簡單應(yīng)用(1小題,計40分)本題

47、的要求是:創(chuàng)建一個二維整型數(shù)組,并將其以4行5列對齊的格式輸出。程序運行結(jié)果如下:1 1 1 1 12 2 2 2 23 3 3 3 34 4 4 4 4給定源程序:public class Java_2public static void main(String args) int aMatrix = 1,1,1,1,1,2,2,2,2,2,3,3,3,3,3,4,4,4,4,4;int i = 0; /循環(huán)變量 int j = 0; /循環(huán)變量/print matrixfor (i = 0; i < aMatrix.length; i+) /*Found* for ( j = 0;

48、_ ; j+) /*Found* System.out.print(_ + " "); System.out.println();解題思路:Java程序修改如下:第1處:循環(huán)語句的判斷,需填入 j<aMatrixi.length第2處:打印二維數(shù)組的內(nèi)容,需填入 aMatrixij3. 綜合應(yīng)用(1小題,計30分)本題的要求是:下面是整數(shù)除法計算的程序,要求在出現(xiàn)異常時,能拋出異常信息??紤]兩種異常:1) 輸入非數(shù)字除數(shù)2) 輸入除法分母為零該程序運行的三種結(jié)果狀態(tài)如下:1) 輸入兩個合法整數(shù):2) 輸入非數(shù)字除數(shù):3) 輸入除數(shù)為零:給定源程序:import jav

49、a.text.DecimalFormat;import javax.swing.*;import java.awt.*;import java.awt.event.*;/*Found*public class Java_3 extends _ implements ActionListener private JTextField input1, input2, output;private int number1, number2;private double result;/ 初始化public Java_3()/*Found*_( "示范異常" );Container

50、 c = getContentPane();c.setLayout( new GridLayout( 3, 2 ) );c.add( new JLabel( "輸入分子",SwingConstants.RIGHT ) );input1 = new JTextField( 10 );c.add( input1 );c.add(new JLabel( "輸入分母和回車",SwingConstants.RIGHT ) );input2 = new JTextField( 10 );c.add( input2 );input2.addActionListener( this );c.add( new JLabel( "計算結(jié)果&

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論