天天看點

Java二級操作題第20套

基本操作

在考生檔案夾中存有檔案名為Java_1.java的檔案,該程式是不完整的,請在注釋行"//Found"下一行語句的下劃線地方填入正确内容,然後删除下劃線,請勿删除注釋行或改動其他已有語句内容。存盤時檔案必須存放在考生檔案夾下,不得改變原有檔案的檔案名。

本題的要求是:

程式的功能是列印一個序列的前10項,該序列的第1項和第2項都是1,以後的每一頂都是前面兩項之和。

完成程式,使程式輸出結果如下:

1 1 2 3 5 8 13 21 34 55

public class Java_1 {
    public static void main(String[] args) {
        //*********Found********
        int []f=____________[10];
        f[0]=f[1]=1;
        //*********Found********
        for (________________;i<10;i++)
            f[i]=f[i-1]+f[i-2];
        //*********Found********
        for (int i=0;i<f._____________;i++)
        //*********Found********
            System.out.print(_________________+"  ");
    }
    
}      

本題考查的是一維數組。

建立數組時,需new關鍵字配上數組類名,這裡前面定義了類型為int,是以第一空填寫"new int"。

該例中,已經給下标為0和下标為1的數組元素指派,是以第二空,填寫"int i = 2"。

數組的大小為數組的length屬性,是以第三空填寫"length"。

數組取值時,通過方括号,裡面填寫下标即可取值,是以第四空填寫"f[i]"。

具體程式如下:

public class Java_1 {
    public static void main(String[] args) {
        //*********Found********
        int []f=new int[10];
        f[0]=f[1]=1;
        //*********Found********
        for (int i=2;i<10;i++)
            f[i]=f[i-1]+f[i-2];
        //*********Found********
        for (int i=0;i<f.length;i++)
        //*********Found********
            System.out.print(f[i]+"  ");
    }
    
}      

簡單應用

在考生檔案夾中存有檔案名為Java_2.java的檔案,該程式是不完整的,請在注釋行"//Found"下一行語句的下劃線地方填入正确内容,然後删除下劃線,請勿删除注釋行或改動其他已有語句内容。存盤時檔案必須存放在考生檔案夾下,不得改變原有檔案的檔案名。

本題的要求是:

建立一個二維整型數組,并将其以4行4列左對齊的格式輸出,程式輸出結果如下:

1 1 1 1

2 2 2

3 3

4

public class Java_2{
   public static void main(String[] args){
      //*********Found**********
      int ____________ aMatrix = new int[4][];
      int i = 0;
      int j = 0;
      int k = 4;

      for(i = 0; i < 4; i++){
         //*********Found**********
         aMatrix[i] = new int[__________];
 
         //*********Found**********
         for (j = 0; j < ___________.length; j++) {
            aMatrix[i][j] = i+1;
            System.out.print(aMatrix[i][j] + " ");
         }
         //*********Found**********
         System.out.______________________;
      }
   }
}      

本題考查的是二維數組。

二維數組的定義和一維數組類似,有多少次元即在定義時寫多少方括号,是以第一空填寫"[][]"。

因數每行的個數依次是遞減的,是以第二空填空"k–"。

因為需要輸出四行四列資料,是以二維數組中,第二維即每一列,是以第三空填寫"aMatrix[i]"。

在嵌套循環結束後,即輸出了第二維的的每一項資料後,應當換行輸出,是以第四空填寫"println()"。

具體程式如下:

public class Java_2{
   public static void main(String[] args){
      //*********Found**********
      int [][] aMatrix = new int[4][];
      int i = 0;
      int j = 0;
      int k = 4;

      for(i = 0; i < 4; i++){
         //*********Found**********
         aMatrix[i] = new int[4-i];
 
         //*********Found**********
         for (j = 0; j < aMatrix[i].length; j++) {
            aMatrix[i][j] = i+1;
            System.out.print(aMatrix[i][j] + " ");
         }
         //*********Found**********
         System.out.println();
      }
   }
}      

綜合應用

在考生檔案夾中存有檔案名為Java_3.java的檔案,該程式是不完整的,請在注釋行"//Found"下一行語句的下劃線地方填入正确内容,然後删除下劃線,請勿删除注釋行或改動其他已有語句内容。存盤時檔案必須存放在考生檔案夾下,不得改變原有檔案的檔案名。

程式的功能是:輸入一個十進制整數,将其二進制形式顯示出來。程式運作後,輸入如下整數:

Java二級操作題第20套
//列印無符号整數位
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Java_3 extends JFrame {
   public Java_3(){
      super( "列印無符号整數位" );
      Container c = getContentPane();
      c.setLayout( new FlowLayout() );
      c.add( new JLabel( "請輸入整數: " ) );
      final JTextField output = new JTextField( 33 );
      JTextField input = new JTextField( 10 );
      input.addActionListener(
         new ActionListener() {
            //*********Found********
            public void _________________( ActionEvent e ){
               int val = Integer.parseInt(
                  e.getActionCommand() );
               //*********Found********
               _________________.setText( getBits( val ) );
            }
         }
      );
      c.add( input );
      c.add( new JLabel( "該數的二進制位表示是" ) );      
      output.setEditable( false );
     //*********Found********
      c.add( _________________ );
      setSize( 720, 70 );
      setVisible(true);
   }

   private String getBits( int value ){
      int displayMask = 1 << 31;
      StringBuffer buf = new StringBuffer( 35 );
      for ( int c = 1; c <= 32; c++ ) {
         buf.append(
            ( value & displayMask ) == 0 ? '0' : '1' );
         value <<= 1;
         if ( c % 8 == 0 )
            buf.append( ' ' );
      }
      return buf.toString();
   }

   public static void main( String args[] ){
      Java_3 app = new Java_3();
      app.addWindowListener(
         new WindowAdapter() {
     //*********Found********
            public void windowClosing( ___________ e ){
               System.exit( 0 );
            }
         }
      );
   }
}      

本題考查的是對JavaSwing的了解。

Input加入了一個事件監聽器,那麼在該類中,就需要實作該監聽器接口的方法,是以第一空填寫"actionPerformed"。

本題需要輸出文本框數值對應的二進制,那麼輸出對象是output文本框,是以第二空填寫"output"。

建立文本框後需要顯示在JFrame中,是以第三空填寫"output"。

WindowAdapter擴充卡實作了所有的接口方法,以空方法的形式,在其子類中隻要重寫需要的就行,這裡需要關閉視窗,是以第四空填寫"WindowEvent"。

具體程式如下:

//列印無符号整數位
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Java_3 extends JFrame {
   public Java_3(){
      super( "列印無符号整數位" );
      Container c = getContentPane();
      c.setLayout( new FlowLayout() );
      c.add( new JLabel( "請輸入整數: " ) );
      final JTextField output = new JTextField( 33 );
      JTextField input = new JTextField( 10 );
      input.addActionListener(
         new ActionListener() {
            //*********Found********
            public void actionPerformed( ActionEvent e ){
               int val = Integer.parseInt(
                  e.getActionCommand() );
               //*********Found********
               output.setText( getBits( val ) );
            }
         }
      );
      c.add( input );
      c.add( new JLabel( "該數的二進制位表示是" ) );      
      output.setEditable( false );
     //*********Found********
      c.add( output );
      setSize( 720, 70 );
      setVisible(true);
   }

   private String getBits( int value ){
      int displayMask = 1 << 31;
      StringBuffer buf = new StringBuffer( 35 );
      for ( int c = 1; c <= 32; c++ ) {
         buf.append(
            ( value & displayMask ) == 0 ? '0' : '1' );
         value <<= 1;
         if ( c % 8 == 0 )
            buf.append( ' ' );
      }
      return buf.toString();
   }

   public static void main( String args[] ){
      Java_3 app = new Java_3();
      app.addWindowListener(
         new WindowAdapter() {
     //*********Found********
            public void windowClosing( WindowEvent e ){
               System.exit( 0 );
            }
         }
      );
   }
}