• 您現在的位置:首頁 - 備考 - 自考問一問

    全國2012年1月04747Java語言程序設計(一)自考試卷

    2025-07-08 來源:中國教育在線

      全國2012年1月高等教育自學考試

      Java語言程序設計(一)試題

      課程代碼:04747

      一、單項選擇題(本大題共10小題,每小題1分,共l0分)

      在每小題列出的四個備選項中只有一個是符合題目要求的,請將其代碼填寫在題后的括號內。錯選、多選或未選均無分。

      1.下面供選字符序列中,不屬于Java語言關鍵字的是( )

      A.inner B.throw

      C.false D.throws

      2.表達式“-1>>>1”的十進制值是( )

      A.-2 B.231-1

      C.-(231-1) D.232-1

      3.Java語言中,在類定義時用final關鍵字修飾,是指這個類( )

      A.子類必須實現父類未實現的方法 B.沒有具體實現代碼

      C.必須要有實例 D.不能被繼承

      4.表達式  "java程序設計".1ength() 的值是( )

      A. 0 B.12

      C. 8 D.13

      5.以下關于BorderLayout布局的敘述中,不正確的是( )

      A.把容器內的空間劃分成5個區域 B.加入組件應該指明要放入的區域

      C.是框架窗口的默認布局 D.一個位置可直接放多個組件

      6.利用文件對話框打開或保存文件,在打開文件對話框之前,可用FileFilter類設置篩選條件,其所用的兩個方法是( )

      A.accept()和getSelectedFile() B.accept()和getDescription()

      C.accept()和setDescription() D.setDescription()和getDescription()

      7.設已經有Graphics2D對象g2d,RoundRectangle2D對象rRect,繪制對象rRect的代碼是( )

      A.g2d.draw(rRect) B.g2d.drawRoundRect(rRect)

      C.rRect.draw() D.rRect.drawRoundRect()

      8.以下關于線程互斥和同步的敘述中,正確的是( )

      A.臨界段是線程互斥使用資源的程序段 B.臨界段能使線程使用其它線程的資源

      C.互斥和同步能很好地解決死鎖問題 D.可用notify()方法讓等待線程結束等待

      9.在編寫訪問數據庫的Java程序時,Connection對象的作用是( )

      A.存儲查詢結果 B.在指定的連接中處理SQL語句

      C.用來表示與數據庫的連接 D.用來創建數據庫的連接

      10.獲取InetAddress對象的域名所用到的方法是( )

      A.getHostName() B.getLocalName()

      C.getHostAddress() D.getLocalHost()

      二、填空題(本大題共10小題,每空2分,共20分)

      請在每小題的空格中填上正確答案。錯填、不填均無分。

      11.能在瀏覽器上執行的Java程序被稱為____________。

      12.如果子類A隱藏了超類B的成員變量x,而類A的某個方法f()要引用類B的x,則引用類B的x的引用代碼可以寫成____________。

      13.接口有與類相似的基本形式,它有常量定義和方法定義,但沒有____________。

      14.設u和v是類A的兩個對象,則邏輯表達式“u==v”的意義是____________。

      15.要獲得對象的字符串表示,調用的方法是____________。

      16.注冊鼠標點擊事件監視器的方法是____________。

      17.在異或模式下繪圖時,實際繪制的顏色是由當前正要繪制的顏色、原先繪制的顏色,以及____________作特定的運算確定的。

      18.多線程程序設計中,讓執行臨界段程序時等待的線程結束等待,通常使用的方法有resume()、notify()或者____________。

      19.創建的流既可以隨機輸出,也可以隨機輸入的類是____________。

      20.Java程序中使用套接字方法實現C/S模式時,在Client端支持網絡底層通訊的類是____________。

      三、簡答題(本大題共6小題,每小題3分,共18分)

      21.請寫出以下程序段的執行結果。

      int c=0,d,n=3758;

      while(n>0){ if((d=n%l0)>c) c=d;n/10;}

      System.out.println("結果="+c);

      22.什么是方法重載,如何正確區分重載?

      23.請寫出定義一個包含2個子數組的二維整型數組對象aArr的代碼,其中第1個子數組有5個元素,第二個子數組有3個元素。

      24.請寫出創建一個JPanel對象p,并為對象p設定GridLayout布局的代碼。

      25.由于創建輸出流對象時,可能會出現IOException異常,所以創建輸出流對象的代碼必須出現在try-catch語句結構中。請寫出為當前目錄下的myFile.dat文件創建緩沖輸出流對象outs的代碼。

      26.請寫出已知數據庫url、用戶名uName和密碼pWord,通過驅動程序管理器(DriverManager)的方法getConnection()建立連接con的代碼,可能產生的異常是SQLException。

      四、程序填空題(本大題共5小題,每空2分,共20分)

      在每小題的空格中填上正確答案,完全代碼,使它能正確實現題意的功能。錯填、不填均無分。

      27.方法int tenDigNumlnArray(int []a,int d)的功能是統計數組中十位數是d的整數的個數。

      提示:對于一個整數n,運算n/10的作用是求得去掉n的個位數后的整數,運算n%10的作用是求得n的個位數。

      static int tenDigNumlnArray(int []a,int d){

      int c=0;

      for(int i=0;__________;i++){

      if(__________)c++;

      }

      return c;

      }

      28.某小應用程序的類實現了接口ActionListener,在其窗口有一個文本區對象text和一個標上文字“輸入一個整數”的按鈕對象,并正確為該按鈕對象注冊了監視器。按鈕處理程序要實現的功能是當點擊這個按鈕時,程序彈出一個輸入信息的對話框,輸入一個整數n,程序接受n后,將2至n的所有偶數輸出在文本區text中。以下是其中處理按鈕事件的方法。

      public void actionPerformed(ActionEvent e){

      if(e.____________.equals("輸入一個整數")){

      String res=(String) JOptionPane.showInputDialog(null, "輸入一個正整數",

      "輸入對話框",JOptionPane.PLAIN_MESSAGE,null,null,null);

      n=Integer.parseInt(res);

      text.setText("");.

      for(int k=2;k <= n;k+=2)

      text._____________;

      }

      }

      29.一個示意選擇框選擇的類CheckBoxWin,類的構造方法根據給定的選擇項目表構造一組選擇框,這組選擇框允許多選,當這組選擇框中的某個選擇項的選擇狀態有改變(從選中變成未選中,或從未選中變成選中)時,選擇框的監視程序在一個文本區中輸出那個狀態有改變的選擇項目。以下是類CheckBoxWin的定義。

      class CheckBoxWin extends JFrame implements ItemListener{

      JPanel p=new JPanel();

      JTextArea text;

      String[]nameList;

      JCheckBox boxArray[];

      CheckB oxWin(String[]sp){

      Container con=getContentPane();

      con.setBackground(Color.BLUE);

      con.setLayout(new FlowLayout());

      p.setSize(90,(sp.1ength)*20);

      p.setLayout(new GridLayout(sp.1ength,1));

      nameList=sp;

      boxArray=new JCheckB ox[sp.1ength];

      for(int i=0;i

      JCheckBox box=new JCheckBox(sp[i]);

      box._________________;

      p.add(box);

      boxArray[i]=box;

      }

      con.add(p);

      text=new JTextArea(3,13);

      text.setText("");

      JScrollPane jsp=new JScrollPane(text);

      jsp.setSize(100,60);

      con.add(jsp);

      setSize(100,(sp.1ength)*20+120);

      setLocation(100,100);

      setVisible(true);

      }

      public void itemStateChanged(ItemEvent e){

      for(int i=0;i

      if(e.getItemSelectable()==_______________________ ){

      if(boxArray[i].isSelected())

      text.append(nameList[i]+".從未選中變成被選中\n");

      else

      text.append(nameList[i]+":從選中變成未被選中\n");

      return;

      }

      }

      }

      }

      30.以下是一個JPanel的子類的paintComponent方法,該方法利用Graphics2D繪制一個正方形,正方形的位置、邊長和顏色分別存于該類的成員變量lTop、edge和c中。

      int edge; Point 1Top; Color c;

      public void paintComponent(Graphics g){

      Graphics2D g2=(Graphics2D)g;

      g2.setColor(c);

      Rectangle2D rec=new Rectangle2D.____________(1Top.x,lTop.y,edge,edge);

      _____________;

      }

      31.以下小應用程序的界面有一個文本區,文本區同時作為發生鍵盤事件的事件源,并對鍵盤事件實施監視。程序運行時,先點擊文本區,讓它激活,以便能響應鍵盤事件。以后輸入英文字母時,在文本區中順序顯示輸入的字母。

      import java.applet.*;import javax.swing.*;

      import java.awt.*;import java.awt.event.*;

      public class Test31 extends Applet implements____________{

      JTextArea text=new JTextArea(5,10);

      public void init(){setSize(200,200);

      __________________________;

      text.setBackground(Color.gray); add(text);

      }

      public void keyPressed(KeyEvent e){}

      public void keyReleased(KeyEvent e){}

      public void keyTyped(KeyEvent e){

      int t=e.getKeyCode();

      if(t>=KeyEvent.VK_A&&t<=KeyEvent.VK_Z){

      text.append(""+(char)t);

      }

      }

      }

      五、程序分析題(本大題共5小題,每小題4分,共20分)

      32.閱讀下列程序,請寫出該程序的功能。

      public class Test32

      { public static void main(String args[])

      { double sum=0.0;

      For (int i=1; i<=500;i++)

      sum+=1.0/(double)i;

      System.out.println( "sum="+sum);

      }

      }

      33.閱讀下列程序,請回答以下問題:

      (1)界面中有哪些組件?

      (2)點擊每一個按鈕分別會顯示什么內容?

      import java.applet.*; import java.awt.*;

      import java.awt,event.*;import javax.swing.*;

      public class Test33 extends Applet implements ActionListener{

      String msg="";

      String buttonCom[]={"Yes","No","Undecided"};

      JButton bList[]=new JButton[buttonCom.length];

      JTeXtField t;

      public void init(){

      setLayout(new GridLayout(4,1));

      for(int i=0;i

      bList[i]=new JButton("按鈕"+(i+1));

      add(bList[i]);

      bList[i].addActionListener(this);

      }

      t=new JTeXtField();

      add(t);

      }

      public void actionPerformed(ActionEvent e){

      for(int i=0;i<3;i++){

      if(e.getSource()一bList[i]){

      t.setTeXt("You pressed"+buttonCom[i]);

      break;

      }

      }

      }

      }

      34.閱讀下列程序,請寫出該程序的功能。

      import java.io.*; import java.awt.*; import javax.swing.*;

      import java.awt.event.*;

      class MyWindow extends JFrame implements ActionListener{

      JTextArea text;BufieredReader in;JTextField fileName;

      FileReader file;

      MyWindow(){

      Contaiher con=this.getContentPane();//獲得內容面板

      con.setLayout(new BorderLayout());

      fileName=new JTextField("輸入文件名");

      fileName.addActionListener(this);

      text=new JTextArea(20,30);

      JScrollPane jsp:new JScrollPane(text);

      con.add(jsp,BorderLayout.CENTER);

      con.add(fileName,"South");setVisible(true);

      }

      public void actionPerformed(ActionEvent e)

      { String s;

      try{File f=new File(fileName.getText());

      file=new FileReader(f);

      in=new BufferedReader(file);

      } catch(FileNotFoundException el){}

      try{ while((s=in.readLine())!=null)

      text.append(s+'\n');

      }catch(IOException exp){}

      }

      }

      public class Test34{

      public static void main(String args[ ]) {new MyWindow();}

      }

      35.閱讀下列程序,請回答以下問題:

      (1)該程序中的類MyPanel的成員變量twoClick的作用是什么,該成員變量的值是如何改變的?

      (2)程序運行時,用戶在界面的不同位置,用鼠標點擊兩次,界面中會出現什么?

      import java.awt.*;import javax.swing.*;import java.awt.event.*;

      class MyPanel extends JPanel implements MouseListener{

      int leftx,lefly,rightx,righty;

      boolean twoClick;

      MyPanel() {

      twoClick=false;addMouseListener(this);

      }

      public void mousePressed(MouseEvent e){

      if(!twoClick){

      leftx=e.getX();lefty=e.getY();

      }else{

      rightx=e.getX();righty=e.getY();repaint();

      }

      twoClick=!twoClick:

      }

      public void mouseClicked(MouseEvent e){}

      public void mouseEntered(MouseEvent e){}

      public void mouseExited(MouseEvent e){}

      public void mouseReleased(MouseEvent e){}

      public void paintComponent(Graphics g){

      g.clearRect(0,0,this.getWidth(),this.getHeight());

      g.fillRect(1efix,lefty,Math.abs(rightx-leftx),

      Math.abs(righty-lefty));

      }

      }

      class MyWin extends JFrame{

      MyPanel p=new MyPanel();

      MyWin(){

      getContentPane().add(p);

      setSize(400,400);setLocation(100,100);setVisible(true);

      }

      }

      public class Test35 extends JFrame{

      public static void main(String[]args){new MyWin();}

      }

      36.閱讀下列程序,請回答以下問題:

      (1)程序執行時創建的線程個數。

      (2)各線程的名稱。

      (3)舉例給出程序可能的輸出結果。

      class SeltManaged extends Thread{

      int countDown;

      public SelfManaged(String name,int c){

      countDown=c;

      setName(name);start();

      }

      public void run(){

      while(true){

      System.out.println(getName()+" ("+countDown+")");

      try{

      sleep(50);

      }catch(InterruptedException e){};

      if(--countDown== 0)

      return;

      }

      }

      }

      public class Test36{

      public static void main(String[]args){

      for(int i=0;i<2;i++)

      new SelfManaged("線程"+String.valueOf(i),2);

      }

      }

      六、程序設計題(本大題共2小題,每小題6分,共12分)

      37.編寫方法int[] delete(int []a,int d),方法將創建一個新數組b,新數組b中只包含原數組中所有值不等于d的元素,并返回該新數組b。

      38.以下程序的界面有一個按鈕ave、一個文本區text和一個標簽label。程序運行時,在文本區中輸入數字序列,單擊ave按鈕,則在標簽label中顯示這個數字序列中正實數的平均值。

      注:這里是給定程序的部分代碼,你要編寫的是actionPerformed(ActionEvent e)方法。

      import javax.swing.*;………

      class Ave extends JFrame implements ActionListener{

      JLabel label 1,label; JTextArea text; JButton ave;

      Ave() {

      Container con=getContentPane();

      con.setLayout(new GridLayout(2,2));

      labell=new JLabel("輸入整數序列");

      text=new JTextArea(5,10);

      ave=new JButton("求正實數平均值");

      label=new JLabel();

      con.add(1abel 1);con.add(text);con.add(ave);

      ave.addActionListener(this);

      con.add(1abel);

      ………

      }

      public void actionPerformed(ActionEvent e){

      ∥請在以下位置編寫代碼

      }

      }

      class Test38{

      public static void main(String args[]){new Ave(); }

    1
    意向表
    2
    學習中心老師電話溝通
    3
    查看評估報告
    1、年齡階段

    2、當前學歷

    3、提升學歷目標

    4、意向學習方式

    報考所在地
    *
    *
    *
    - 聲明 -

    (一)由于考試政策等各方面情況的不斷調整與變化,本網站所提供的考試信息僅供參考,請以權威部門公布的正式信息為準。

    (二)本網站在文章內容出處標注為其他平臺的稿件均為轉載稿,免費轉載出于非商業性學習目的,歸原作者所有。如您對內容、等問題存在異議請與本站聯系,我們會及時進行處理解決。

    首頁 考生自助服務系統
    91精品国产综合久久小仙女