国产在线精品一级A片-国产另类欧美-国产精品va在线观看一-我要找美国一级片黄色|www.zheinei.com

Java語言程序設計模擬試題及答案

時間:2017-04-21 16:24:00 java試題 我要投稿

Java語言程序設計模擬試題及答案

  Java語言程序設計詳細介紹了Java語言的基本概念和編程方法,同時深入介紹了Java的高級特性。以下是由陽光網小編整理關于Java語言程序設計模擬試題的內容,希望大家喜歡!

Java語言程序設計模擬試題及答案

  Java語言程序設計模擬試題

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

  1. 在Java中,負責對字節代碼解釋執行的是() (1分)

  A:垃圾回收器

  B:虛擬機

  C:編譯器

  D:多線程機制

  2. 在Java中,獲取選擇框是否被選中的方法是() (1分)

  A:getSelect()

  B:getSelected()

  C:isSelect()

  D:isSelected()

  3. 下列敘述中,正確的是() (1分)

  A:Java語言的標識符是區分大小寫的

  B:源文件名與public類名可以不相同

  C:源文件名其擴展名為.jar

  D:源文件中public類的數目不限

  4. 要為程序中的按鈕button設置一個熱鍵alt+A,可以采用的代碼是() (1分)

  A:button.setMnemonic(?A?)

  B:button.setMnemonic("alt+A")

  C:button.setToolTipText(?A?)

  D:button.setToolTipText("alt+A")

  5. 在Java中,設置字型應使用Graphics的()方法。 (1分)

  A:setfont(Font font)

  B:setFont(Font font)

  C:Font(String fontname,int style,int size)

  D:font(String fontname,int style,int size)

  6. 列表事件的事件源有兩種,其中之一是單擊列表中的選項,則與單擊選項事件相關的接口是() (1分)

  A:ActionListener

  B:ListSelectionEvent

  C:ListSelectionListener

  D:addListSelectionListener

  7. 在Java語言的java.util包中,用于語言符號(單詞)分析的類是() (1分)

  A:stringTokenizer

  B:StringTokenizer

  C:ToKenizer

  D:tokenizer

  8. 下列語句中,錯誤的Java語句是() (1分)

  A:連續出現多個分號

  B:try......catch語句

  C:include語句

  D:switch語句

  9. 在Java程序中,已將FileWriter對象接到BufferedWriter對象上,要實現緩沖式輸出,可對BufferedWriter對象使用的方法是() (1分)

  A:read()

  B:write()

  C:readLine()

  D:writeLong()

  10. 接口的所有變量和方法分別默認為是() (1分)

  A:final static和public abstract

  B:final static和public final

  C:public static和public abstract

  D:public static和public final

  二、填空題(本大題共10小題,每小題2分,共20分)請在每小題的空格中填上正確答案。錯填、不填均無分。

  1. Java 源文件中最多只能有一個類,其他類的個數不限。 (2分)

  2. Java語言將類型分為基本類型和類型兩種。 (2分)

  3. 當在一個容器中放入多個選擇框之前,可以先用對象將多個選擇框分組,使得同一時刻組內的多個選擇框只允許有一個被選中。 (2分)

  4. Java語言使用字符集,共有65535個字符。 (2分)

  5. 給Java中的菜單項設置快捷鍵所使用的類中對應的構造方法為。 (2分)

  6. 類java.awt.Graphics的成員方法可以用來顯示一幅圖像。 (2分)

  7. Java語言為處理鼠標事件提供了兩個接口,其中接口能處理鼠標拖動和鼠標移動兩種事件。 (2分)

  8. 當在一個容器中放入多個選擇框之前,可以先用對象將多個選擇框分組,使得同一時刻組內的多個選擇框只允許有一個被選中。 (2分)

  9. Java語言在實現C/S模式中,套接字分為兩類,其中在Server端,類支持底層的網絡通信。 (2分)

  10. Java語言使用字符集,共有65535個字符。 (2分)

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

  1. 程序運行結果為:

  2008年10月1日

  2009年2月2日

  請填空:

  public class Date

  {

  int y,m,d;

  Date()

  {

  y=2008;m=10;d=1;

  }

  Date(int yy,int mm,int dd)

  {

  y=yy;m=mm;d=dd;

  }

  public String toString()

  {

  return;

  }

  public static void main(String[] args)

  {

  Date d1=new Date();

  Date d2=new;

  System.out.println(d1.toString());

  System.out.println(d2.toString());

  }

  } (2分)

  2. 回文是指正讀和反讀都一樣的字符串。方法f27(String s)的功能是判斷一個字符串是否為回文。例如:s="abccba",該方法返回值為true;n="abc",

  該方法返回值為false。

  boolean f27(String s)

  {

  int i=0;

  while(i<s.length()/2)

  {

  String s1,s2;

  s1=s.substring(i,i+1);

  s2=s.substring();

  if(!(s1.equals(s2)))break;

  i++;

  }

  return;

  } (2分)

  3. 下列小應用程序實現如下功能:紅點沿直線循環向下運動的同時,藍點沿直線循環向上運動。

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

  public class Class3103 extends Applet implements Runnable

  {

  Thread redBall,blueBall;Graphics redPen,bluePen;

  int blueSeta=0,redSeta=0;

  public void init()

  {

  setSize(250,200);

  redBall=new Thread(this);blueBall=new Thread(this);

  redPen=getGraphics();bluePen=getGraphics();

  redPen.setColor(Color.red);bluePen.setColor(Color.blue);

  setBackground(Color.gray);

  }

  public void start()

  {

  redBall.start();

  }

  public void run()

  {

  int x,y;

  while(true)

  {

  if(Thread.currentThread()==redBall)

  {

  x=0;

  y=redSeta;

  redPen.setColor(Color.gray);

  redPen.fillOval(100+x,y,10,10);

  redSeta +=3;

  if(redSeta>=200) redSeta=0;

  x=0;

  y=redSeta;

  redPen.setColor(Color.red);

  redPen.fillOval(100+x,y,10,10);

  try {redBall.sleep(20);}

  catch(InterruptedException e){}

  }

  else if()

  {

  x=0;

  y=blueSeta;

  bluePen.setColor(Color.gray);

  bluePen.fillOval(150+x,100+y,10,10);

  blueSeta-=3;

  if(blueSeta<=-100) blueSeta=0;

  x=0;

  y=blueSeta;

  bluePen.setColor(Color.blue);

  bluePen.fillOval(150+x,100+y,10,10);

  try {blueBall.sleep(40);}

  catch(InterruptedException e){}

  }

  }

  }

  } (2分)

  4. 方法f2701(int n)返回十進制整數n的位數。

  f2701(int n)

  {

  int c;

  for(c=0;;c++)n/=10;

  return c;

  } (2分)

  5. 方法f2702(int n)返回2~n之間的所有質數的個數。

  int f2702(int n)

  {

  int i,j,count=0;

  for(i=2;i<=n;i++)

  {

  for(j=2;j<i;j++)

  if (i%j==0)

  if(j==i);

  }

  return count;

  } (2分)

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

  1. 請將以下程序段表示的計算e的公式寫出來(假設x的值已給出)。

  float a,e;

  e=1;

  a=1;

  for(int n=1;n<=10;n++)

  {

  a=a*x/n;

  e=e+a;

  }

  寫出所表示的公式e=___。 (4分)

  2. 閱讀下列程序,寫出程序的運行結果。

  public class Class3203

  {

  public static void main(String[] args)

  {

  String text="To be or not to be,that is the question;"

  +"Whether tis nobler in the mind to suffer"

  +"the slings and arrows of outrageous fortune,"

  +"or to take arms against a sea of troubles,"

  +"and by opposing end them?";

  int theCount=0;

  int index=-1;

  String theStr="the";

  index=text.indexOf(theStr);

  while(index>=0)

  {

  ++theCount;

  index+=theStr.length();

  index=text.indexOf(theStr,index);

  }

  System.out.println("The Text contains "+theCount+" thes");

  }

  } (4分)

  3. 閱讀下列程序,寫出程序的'運行結果。

  public class Class3303

  {

  static public void main(String args[])

  {

  boolean bTb1[][]=new boolean[4][];

  for (int i=0;i<bTb1.length;i++)

  {

  bTb1[i]=new boolean[i+1];

  }

  for (int i=0;i<bTb1.length;i++)

  {

  for(int k=0;k<bTb1[i].length;k++)

  {

  System.out.print(bTb1[i][k]+" ");

  }

  System.out.println("");

  }

  }

  } (4分)

  4. 閱讀程序,畫出程序運行后初始界面并寫出程序功能。

  import javax.swing.*;

  import java.awt.event.*;

  public class Class3403 extends JFrame implements ActionListener

  {

  JButton b1=new JButton("b1");

  JButton b2=new JButton("b2");

  public Class3403()

  {

  super("Class3403");

  setSize(300,100);

  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

  JPanel panel=new JPanel();

  panel.add(b1);panel.add(b2);

  setContentPane(panel);

  b1.addActionListener(this);

  b2.addActionListener(this);

  setVisible(true);

  }

  public void actionPerformed(ActionEvent e)

  {

  Object s=e.getSource();

  if (s==b1)setTitle("Teacher");

  if(s==b2)setTitle("Student");

  }

  public static void main(String []args)

  {

  new Class3403();

  }

  } (4分)

  5. 閱讀下列程序,寫出程序功能。

  import java.applet.*;

  import java.awt.*;

  import java.awt.event.*;

  public class Class35004 extends Applet implements MouseListener

  {

  int r=-10, mouseFlag=0;

  static String mouseState[]={"AAA","BBB","CCC","DDD"};

  public void print(int x,int y)

  {

  Graphics g=getGraphics();

  r+=10;

  g.drawString(mouseState[mouseFlag]+",x="+x+",y="+y+"\n",10,r);

  }

  public void mousePressed(MouseEvent e)

  {mouseFlag=0;print(e.getX(),e.getY());}

  public void mouseReleased(MouseEvent e)

  {mouseFlag=1;print(e.getX(),e.getY());}

  public void mouseEntered(MouseEvent e)

  {mouseFlag=2;print(e.getX(),e.getY());}

  public void mouseExited(MouseEvent e)

  {mouseFlag=3;print(e.getX(),e.getY());}

  public void mouseClicked(MouseEvent e){}

  public void init()

  {

  setBackground(Color.red);

  addMouseListener(this);

  }

  } (4分)

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

  1. 設計一個應用程序,原始數據從程序界面的一個文本區輸入,用戶點擊按鈕后,在另一個文本區上輸出排序后的數據,并將排序后的數

  據輸出到文件中。已給出部分代碼,請完成程序。

  import java.io.*;

  import java.util.*;

  import java.awt.*;

  import javax.swing.*;

  import java.awt.event.*;

  public class Class3805 implements ActionListener

  {

  JTextArea ta1=new JTextArea(10,20);

  JTextArea ta2=new JTextArea(10,20);

  JButton butt=new JButton("SortAndSave");

  public static void main(String[] args)

  {

  new Class3805();

  }

  public Class3805()

  {

  JFrame myWin=new JFrame("Class3805");

  myWin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

  Container con=myWin.getContentPane();

  con.setLayout(new FlowLayout());

  con.setBackground(Color.blue);

  con.add(ta1);con.add(butt);con.add(ta2);

  myWin.setBounds(200,200,600,300);

  butt.addActionListener(this);

  myWin.setVisible(true);

  }

  public void actionPerformed(ActionEvent e)

  {

  //這里是你要編寫的代碼

  }

  } (6分)

  2. 編寫一個方法f3702(),要求該方法有一個元素類型為整型的數組參數,方法的功能是把參數數組中元素值相同的元素刪成只剩一個,經

  過刪除后會得到一個新數組,方法返回這個新數組。 (6分)

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

  1. 請寫出程序處理按鈕單擊事件時,與按鈕動作事件相關的接口,注冊監視器的方法及要實現的接口方法。 (3分)

  2. 寫出畫多邊形的兩個常用方法。 (3分)

  3. Java語言在實現C/S模式中,套接字分為哪兩類? (3分)

  4. 文本框(JTextField)是界面中用于輸入和輸出一行文本的區域。文本框處理程序的基本內容有哪五個方面? (3分)

  5. 在類的方法名前面和成員變量名前面加上public和protected有何區別? (3分)

  6. 在Java語言中,循環語句有哪三種? (3分)

  Java語言程序設計模擬試題參考答案

  一、單項選擇題 (本大題共10小題,每小題1分,共10分) 在每小題列出的四個備選項中只有一個是符合題目要求的,請將其代碼填寫在題后的括號內

  。錯選、多選或未選均無分。

  1:參考答案:B

  參考解析:(P4)在任何平臺上,Java源程序被Java編譯器譯成虛擬機能夠識別的字節碼。這樣,只要有Java虛擬機的平臺,

  就能解釋執行Java字節碼程序,從而實現Java程序與平臺無關。

  試題內容:

  在Java中,負責對字節代碼解釋執行的是()

  A:垃圾回收器

  B:虛擬機

  C:編譯器

  D:多線程機制

  2:參考答案:D

  參考解析:(P111)isSelected()方法當選擇框被選中時返回true。所有的方法都是第一個字母小字,若是多個單詞組成的名字,后面的每個單詞首字母

  均大寫。這是一個規律。沒有A、B、C這三種方法。

  試題內容:

  在Java中,獲取選擇框是否被選中的方法是()

  A:getSelect()

  B:getSelected()

  C:isSelect()

  D:isSelected()

  3:參考答案:A

  參考解析:(P8)源文件中如果有public類,則源文件名與public類名必須相同;源文件名其擴展名為.java;源文件中public類的數目不能多于一個。

  試題內容:

  下列敘述中,正確的是()

  A:Java語言的標識符是區分大小寫的

  B:源文件名與public類名可以不相同

  C:源文件名其擴展名為.jar

  D:源文件中public類的數目不限

  4:參考答案:A

  參考解析:(P111)

  試題內容:

  要為程序中的按鈕button設置一個熱鍵alt+A,可以采用的代碼是()

  A:button.setMnemonic(?A?)

  B:button.setMnemonic("alt+A")

  C:button.setToolTipText(?A?)

  D:button.setToolTipText("alt+A")

  5:參考答案:B

  參考解析:(P138)

  試題內容:

  在Java中,設置字型應使用Graphics的()方法。

  A:setfont(Font font)

  B:setFont(Font font)

  C:Font(String fontname,int style,int size)

  D:font(String fontname,int style,int size)

  6:參考答案:C

  參考解析:(P114)ActionListener是與雙擊選項事件相關的接口,注冊監視器的方法是addActionListener(),接口方法是

  actionPerformed(ActionEvent e)。與單擊選項事件相關的接口是ListSelectionListener,注冊監視器的方法是

  addListSelectionListener(),接口方法是valueChanged(ListSelectionEvent e)。

  試題內容:

  列表事件的事件源有兩種,其中之一是單擊列表中的選項,則與單擊選項事件相關的接口是()

  A:ActionListener

  B:ListSelectionEvent

  C:ListSelectionListener

  D:addListSelectionListener

  7:參考答案:B

  參考解析:(P77)

  試題內容:

  在Java語言的java.util包中,用于語言符號(單詞)分析的類是()

  A:stringTokenizer

  B:StringTokenizer

  C:ToKenizer

  D:tokenizer

  8:參考答案:C

  參考解析:(P20)本題考核知識點是Java語句。在Java語言中連續出現多個分號不是一種錯誤,編譯系統認為每個單獨的分號都是一個空語句。B答案

  是捕獲異常的語句。D答案是多分支選擇語句。在Java中沒有include語句。

  試題內容:

  下列語句中,錯誤的Java語句是()

  A:連續出現多個分號

  B:try......catch語句

  C:include語句

  D:switch語句

  9:參考答案:B

  參考解析:(P179)本題考核知識點是用緩沖式輸出。采用緩沖式輸出時,write()方法只是將字符串寫入到系統內設的緩沖區,待緩沖區滿后,系統自

  動將緩沖區中內容寫入到文件。如果想立即寫入到文件,則需要調用flush()方法。

  試題內容:

  在Java程序中,已將FileWriter對象接到BufferedWriter對象上,要實現緩沖式輸出,可對BufferedWriter對象使用的方法是()

  A:read()

  B:write()

  C:readLine()

  D:writeLong()

  10:參考答案:A

  參考解析:(P59)接口是一種只由常量定義和抽象方法組成的特殊類。用public修飾的接口是公共接口,可被所有的類和接口使用;而沒有public修飾

  的接口只能被同一個包中的其他類和接口使用。接口的所有變量都默認為是final static屬性;所有的方法都默認為public abstract屬性。一個類通過使

  用implements聲明自己使用一個或多個接口。實現多個接口時,接口名之間用逗號隔開。

  試題內容:

  接口的所有變量和方法分別默認為是()

  A:final static和public abstract

  B:final static和public final

  C:public static和public abstract

  D:public static和public final

  二、填空題 (本大題共10小題,每小題2分,共20分)請在每小題的空格中填上正確答案。錯填、不填均無分。

  1:參考答案:(P5)public

  試題內容:

  Java 源文件中最多只能有一個_____類,其他類的個數不限。

  2:參考答案:(P45)引用

  試題內容:

  Java語言將類型分為基本類型和_____類型兩種。

  3:參考答案:(P112)ButtonGroup

  試題內容:

  當在一個容器中放入多個選擇框之前,可以先用_____對象將多個選擇框分組,使得同一時刻組內的多個選擇框只允許有一個被選中。

  4:參考答案:(P7)Unicode

  試題內容:

  Java語言使用_____字符集,共有65535個字符。

  5:參考答案:(P121)MenuShortcut(int key)

  試題內容:

  給Java中的菜單項設置快捷鍵所使用的類中對應的構造方法為_____。

  6:參考答案:(P149)drawImage()

  試題內容:

  類java.awt.Graphics的成員方法_____可以用來顯示一幅圖像。

  7:參考答案:(P130)MouseMotionListener

  試題內容:

  Java語言為處理鼠標事件提供了兩個接口,其中_____接口能處理鼠標拖動和鼠標移動兩種事件。

  8:參考答案:(P11)ButtonGroup

  [解析]當在一個容器中放入多個選擇框,且沒有用ButtonGroup對象將它們分組,則可以同時選中多個選擇框。如果使用ButtonGroup對象將選擇

  框分組,同一時刻組內的多個選擇框只允許有一個被選中,稱同一組內的選擇框為單選框。單選框分組的方法是先創建ButtonGroup對象,然后將希

  望為同組的選擇框添加到同一個ButtonGroup對象中。

  試題內容:

  當在一個容器中放入多個選擇框之前,可以先用_____對象將多個選擇框分組,使得同一時刻組內的多個選擇框只允許有一個被選中。

  9:參考答案:(P193)ServerSocket

  試題內容:

  Java語言在實現C/S模式中,套接字分為兩類,其中在Server端,_____類支持底層的網絡通信。

  10:參考答案:(P7)Unicode

  試題內容:

  Java語言使用_____字符集,共有65535個字符。

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

  1:參考答案:y+"年"+m+"月"+d+"日"

  Date(2009,2,2),

  試題內容:

  程序運行結果為:

  2008年10月1日

  2009年2月2日

  請填空:

  public class Date

  {

  int y,m,d;

  Date()

  {

  y=2008;m=10;d=1;

  }

  Date(int yy,int mm,int dd)

  {

  y=yy;m=mm;d=dd;

  }

  public String toString()

  {

  return_____;

  }

  public static void main(String[] args)

  {

  Date d1=new Date();

  Date d2=new_____;

  System.out.println(d1.toString());

  System.out.println(d2.toString());

  }

  }

  2:參考答案:s.length()-i-1,s.length()-i

  i<s.length()/2?false:true

  ,

  試題內容:

  回文是指正讀和反讀都一樣的字符串。方法f27(String s)的功能是判斷一個字符串是否為回文。例如:s="abccba",該方法返回值為true;

  n="abc", 該方法返回值為false。

  boolean f27(String s)

  {

  int i=0;

  while(i<s.length()/2)

  {

  String s1,s2;

  s1=s.substring(i,i+1);

  s2=s.substring(_____);

  if(!(s1.equals(s2)))break;

  i++;

  }

  return_____;

  }

  3:參考答案:blueBall.start();

  Thread.currentThread()==blueBall

  ,

  試題內容:

  下列小應用程序實現如下功能:紅點沿直線循環向下運動的同時,藍點沿直線循環向上運動。

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

  public class Class3103 extends Applet implements Runnable

  {

  Thread redBall,blueBall;Graphics redPen,bluePen;

  int blueSeta=0,redSeta=0;

  public void init()

  {

  setSize(250,200);

  redBall=new Thread(this);blueBall=new Thread(this);

  redPen=getGraphics();bluePen=getGraphics();

  redPen.setColor(Color.red);bluePen.setColor(Color.blue);

  setBackground(Color.gray);

  }

  public void start()

  {

  redBall.start();

  _____

  }

  public void run()

  {

  int x,y;

  while(true)

  {

  if(Thread.currentThread()==redBall)

  {

  x=0;

  y=redSeta;

  redPen.setColor(Color.gray);

  redPen.fillOval(100+x,y,10,10);

  redSeta +=3;

  if(redSeta>=200) redSeta=0;

  x=0;

  y=redSeta;

  redPen.setColor(Color.red);

  redPen.fillOval(100+x,y,10,10);

  try {redBall.sleep(20);}

  catch(InterruptedException e){}

  }

  else if(_____)

  {

  x=0;

  y=blueSeta;

  bluePen.setColor(Color.gray);

  bluePen.fillOval(150+x,100+y,10,10);

  blueSeta-=3;

  if(blueSeta<=-100) blueSeta=0;

  x=0;

  y=blueSeta;

  bluePen.setColor(Color.blue);

  bluePen.fillOval(150+x,100+y,10,10);

  try {blueBall.sleep(40);}

  catch(InterruptedException e){}

  }

  }

  }

  }

  4:參考答案:int

  n!=0

  ,

  試題內容:

  方法f2701(int n)返回十進制整數n的位數。

  _____f2701(int n)

  {

  int c;

  for(c=0;_____;c++)n/=10;

  return c;

  }

  5:參考答案:break;

  count++

  ,

  試題內容:

  方法f2702(int n)返回2~n之間的所有質數的個數。

  int f2702(int n)

  {

  int i,j,count=0;

  for(i=2;i<=n;i++)

  {

  for(j=2;j<i;j++)

  if (i%j==0)_____

  if(j==i)_____;

  }

  return count;

  }

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

  1:參考答案:輸出結果為:false,false,true

  試題內容:

  請將以下程序段表示的計算e的公式寫出來(假設x的值已給出)。

  float a,e;

  e=1;

  a=1;

  for(int n=1;n<=10;n++)

  {

  a=a*x/n;

  e=e+a;

  }

  寫出所表示的公式e=___。

  2:參考答案:運行結果:The Text contains 5 thes

  [解析]本題是檢索字符串有多少個the組合。注意有3個the,另外還有whether和them也有the。

  試題內容:

  閱讀下列程序,寫出程序的運行結果。

  public class Class3203

  {

  public static void main(String[] args)

  {

  String text="To be or not to be,that is the question;"

  +"Whether tis nobler in the mind to suffer"

  +"the slings and arrows of outrageous fortune,"

  +"or to take arms against a sea of troubles,"

  +"and by opposing end them?";

  int theCount=0;

  int index=-1;

  String theStr="the";

  index=text.indexOf(theStr);

  while(index>=0)

  {

  ++theCount;

  index+=theStr.length();

  index=text.indexOf(theStr,index);

  }

  System.out.println("The Text contains "+theCount+" thes");

  }

  }

  3:參考答案:運行結果:

  false

  false false

  false false false

  false false false false

  試題內容:

  閱讀下列程序,寫出程序的運行結果。

  public class Class3303

  {

  static public void main(String args[])

  {

  boolean bTb1[][]=new boolean[4][];

  for (int i=0;i<bTb1.length;i++)

  {

  bTb1[i]=new boolean[i+1];

  }

  for (int i=0;i<bTb1.length;i++)

  {

  for(int k=0;k<bTb1[i].length;k++)

  {

  System.out.print(bTb1[i][k]+" ");

  }

  System.out.println("");

  }

  }

  }

  4:參考答案:程序運行后初始界面為:

  程序功能:是單擊b1按鈕窗口標題變為Teacher,單擊b2按鈕窗口標題變為Student。

  試題內容:

  閱讀程序,畫出程序運行后初始界面并寫出程序功能。

  import javax.swing.*;

  import java.awt.event.*;

  public class Class3403 extends JFrame implements ActionListener

  {

  JButton b1=new JButton("b1");

  JButton b2=new JButton("b2");

  public Class3403()

  {

  super("Class3403");

  setSize(300,100);

  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

  JPanel panel=new JPanel();

  panel.add(b1);panel.add(b2);

  setContentPane(panel);

  b1.addActionListener(this);

  b2.addActionListener(this);

  setVisible(true);

  }

  public void actionPerformed(ActionEvent e)

  {

  Object s=e.getSource();

  if (s==b1)setTitle("Teacher");

  if(s==b2)setTitle("Student");

  }

  public static void main(String []args)

  {

  new Class3403();

  }

  }

  5:參考答案:程序功能:小應用程序背景為紅色,用于記錄鼠標事件及鼠標當前坐標。當鼠標進入小應用程序窗口時,在指定的位

  置輸出“CCC”及鼠標當前坐標;當鼠標離開小應用程序窗口時,在指定的位置輸出“DDD”;當鼠標在小應用程序窗口

  中按下時,在指定的位置輸出“AAA” 及鼠標當前坐標;當鼠標在小應用程序窗口按下后松開時,在指定的位置輸出

  “BBB”及鼠標當前坐標。

  試題內容:

  閱讀下列程序,寫出程序功能。

  import java.applet.*;

  import java.awt.*;

  import java.awt.event.*;

  public class Class35004 extends Applet implements MouseListener

  {

  int r=-10, mouseFlag=0;

  static String mouseState[]={"AAA","BBB","CCC","DDD"};

  public void print(int x,int y)

  {

  Graphics g=getGraphics();

  r+=10;

  g.drawString(mouseState[mouseFlag]+",x="+x+",y="+y+"\n",10,r);

  }

  public void mousePressed(MouseEvent e)

  {mouseFlag=0;print(e.getX(),e.getY());}

  public void mouseReleased(MouseEvent e)

  {mouseFlag=1;print(e.getX(),e.getY());}

  public void mouseEntered(MouseEvent e)

  {mouseFlag=2;print(e.getX(),e.getY());}

  public void mouseExited(MouseEvent e)

  {mouseFlag=3;print(e.getX(),e.getY());}

  public void mouseClicked(MouseEvent e){}

  public void init()

  {

  setBackground(Color.red);

  addMouseListener(this);

  }

  }

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

  1:參考答案:String s=ta1.getText();

  StringTokenizer str=new StringTokenizer(s,"\\n\\t ");

  int n=str.countTokens();

  int a[]=new int[n];

  int i=-1,j;

  while(++i<n)

  {

  a[i]=Integer.parseInt(str.nextToken());

  }

  for(i=0;i<n-1;i++)

  for(j=i+1;j<n;j++)

  {

  if(a[i]>a[j])

  {int t=a[i];a[i]=a[j];a[j]=t;}

  }

  for(i=0;i<n;i++)

  {

  ta2.append(a[i]+" ");

  }

  RandomAccessFile out=null;

  try

  {

  out=new RandomAccessFile("3805.txt","rw");

  out.writeBytes(ta2.getText());

  }

  catch(FileNotFoundException e1){}

  catch(IOException e2){}

  試題內容:

  設計一個應用程序,原始數據從程序界面的一個文本區輸入,用戶點擊按鈕后,在另一個文本區上輸出排序后的數據,并將排序后的數據

  輸出到文件中。已給出部分代碼,請完成程序。

  import java.io.*;

  import java.util.*;

  import java.awt.*;

  import javax.swing.*;

  import java.awt.event.*;

  public class Class3805 implements ActionListener

  {

  JTextArea ta1=new JTextArea(10,20);

  JTextArea ta2=new JTextArea(10,20);

  JButton butt=new JButton("SortAndSave");

  public static void main(String[] args)

  {

  new Class3805();

  }

  public Class3805()

  {

  JFrame myWin=new JFrame("Class3805");

  myWin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

  Container con=myWin.getContentPane();

  con.setLayout(new FlowLayout());

  con.setBackground(Color.blue);

  con.add(ta1);con.add(butt);con.add(ta2);

  myWin.setBounds(200,200,600,300);

  butt.addActionListener(this);

  myWin.setVisible(true);

  }

  public void actionPerformed(ActionEvent e)

  {

  //這里是你要編寫的代碼

  }

  }

  2:參考答案:int[] f3702(int[]a)

  {

  int []b=new int[a.length];

  int i,j,k=0;

  b[k]=a[0];

  for(i=1;i<a.length;i++)

  {

  for(j=0;j<=k;j++)

  if (a[i]==b[j])break;

  if (j>k)

  {

  k++;

  b[k]=a[i];

  }

  }

  int []c=new int[k+1];

  for(i=0;i<=k;i++)c[i]=b[i];

  return c;

  }

  [解析]方法中最后又重新定義一個數組c,是為了確定最終返回的數組的大小。這里不能直接把b數組返回。

  試題內容:

  編寫一個方法f3702(),要求該方法有一個元素類型為整型的數組參數,方法的功能是把參數數組中元素值相同的元素刪成只剩一個,經過

  刪除后會得到一個新數組,方法返回這個新數組。

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

  1:參考答案:(P92)相關接口是:ActionListener;注冊監視器的方法是:addActionListener(this);在接口中要實現的方法是:

  public void actionPerformed(ActionEvent e)。

  試題內容:

  請寫出程序處理按鈕單擊事件時,與按鈕動作事件相關的接口,注冊監視器的方法及要實現的接口方法。

  2:參考答案:(P142)drawPolygon(int x[],int y[],int n):用x、y數組對應的n對元素值作為n個點坐標,畫一個多邊形

  fillPolygon(int x[],int y[],int n) 用x、y數組對應的n對元素值作為n個點坐標,畫一個多邊形,并對這個多邊

  形使用setColor()方法設置的顏色進行著色。

  試題內容:

  寫出畫多邊形的兩個常用方法。

  3:參考答案:(P193)

  (1)客戶端使用的套接字類是Socket類。

  (2)服務器端使用的套接字類是ServerSocket類。

  試題內容:

  Java語言在實現C/S模式中,套接字分為哪兩類?

  4:參考答案:(P102)

  ①聲明一個文本框名。

  ②建立一個文本框對象。

  ③將文本框對象加入到某個容器。

  ④對需要控制的文本框對象注冊監視器,監聽文本框的輸入結束事件(即輸入回車鍵)。

  ⑤一個處理文本框事件的方法,完成結截獲事件進行判斷和處理。

  試題內容:

  文本框(JTextField)是界面中用于輸入和輸出一行文本的區域。文本框處理程序的基本內容有哪五個方面?

  5:參考答案:(P48)加上public,類外的任何方法都訪問它們。加上protected后,對于不是這個類的子類和不在同一包中的別的類來說,不能

  訪問它們。

  [解析](1)首先不論在類的方法名前面和成員變量名前面加上什么訪問權限,這個類本身的方法都可以訪問它們。(2)在類的方法名前面和成

  員變量名前面加上public訪問權限,則類外的任何方法也都能訪問這些加了public訪問權限的方法和成員變量。(3)加上protected受保護訪問權限,

  則只允許這個類的子類和同一包中的別的類可以訪問這些方法和成員變量,對于不是這個類的子類且不在同一包中的類來說,不能訪問這些方法和

  成員變量。

  試題內容:

  在類的方法名前面和成員變量名前面加上public和protected有何區別?

  6:參考答案:(P20)while語句、do...while語句、for語句。

  試題內容:

  在Java語言中,循環語句有哪三種?


【Java語言程序設計模擬試題及答案】相關文章:

1.Java程序設計模擬試題及答案

2.Java語言程序設計試題及答案

3.Java語言程序設計試題及答案(六)

4.Java語言程序設計試題及答案(九)

5.Java語言程序設計試題及答案(八)

6.Java程序設計模擬試題及參考答案

7.C語言程序設計模擬試題及答案

8.Java程序設計試題及答案