黄色片女人_av毛片国产_亚洲精品成_91视频a - 黄色三级网站

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

時間:2017-04-24 09:08:51 java試題 我要投稿

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

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

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

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

  一、單項選擇題(本大題共10小題,每小題1分,共10分) 在每小題列出的四個備選項中只有一個是符合題目要求

  的,請將其代碼填寫在題后的括號內。錯選、多選或未選均無分。

  1. 如果發生多個線程形成一個等待環,這樣,所有線程都陷入相互等待的狀態。這種循環等待現象稱為() (1分)

  A:互斥

  B:同步

  C:死鎖

  D:臨界

  2. 下面有關臨界段敘述錯誤的是() (1分)

  A:多線程互斥使用共享資源的程序段被稱為臨界段

  B:臨界段是一種加鎖機制,與多線程共享資源有關

  C:臨界段的作用是在任何時該一個共享資源只能供一個線程使用

  D:如果一個線程已進入某個共享資源的臨界段,且還沒有使用結束,其他進程可搶占這個共享的資源

  3. 以下程序代碼的輸出結果是()

  int x=100;

  System.out.println("5.5"+x%8); (1分)

  A:5.512

  B:5.512.5

  C:18

  D:5.54

  4. 在Java程序中有代碼如下:

  System.out.println(

  (new StringTokenizer("I am a student","a")).countTokens());

  則輸出結果為() (1分)

  A:I am a student

  B:2

  C:3

  D:4

  5. 為8位字節流數據提供讀操作支持的類是() (1分)

  A:FileInputStream

  B:FileOutputStrem

  C:FileReader

  D:FileWriter

  6. 下列有關抽象類及抽象方法的敘述錯誤的是() (1分)

  A:使用final修飾的類是抽象類

  B:使用abstract修飾的方法是抽象方法

  C:抽象類必須被繼承才能使用,抽象類不可能有實例

  D:抽象類可以沒有抽象方法,但有抽象方法的類一定是抽象類

  7. 在編寫Java程序訪問數據庫的過程中,用來處理驅動程序的加載和建立新數據庫連接的類是() (1分)

  A:DriverManager類

  B:Statement類

  C:Connection類

  D:ResultSet類

  8. 在Java語言中執行如下語句后,i和j的值分別為()

  int i=10;int j=++i; (1分)

  A:11和11

  B:10和10

  C:10和11

  D:11和10

  9. 包含當事件發生時從源傳遞給監視器的特定事件信息的對象是() (1分)

  A:事件對象

  B:源對象

  C:監視器對象

  D:接口

  10. 在Java程序中有如下設置:setBackground(Color.blue);g.setXORMode(Color.red); g.setColor(Color.blue);g.drawLine(300,300,500,

  500);則線的顏色是() (1分)

  A:藍色

  B:紅色

  C:黃色

  D:綠色

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

  1. 為選擇框(JCheckBox)對象設定監視器的方法是:。 (2分)

  2. 使用ResultSet對象的方法可將數據表游針移到插入位置,輸入數據后,用方法insertRow()插入記錄。 (2分)

  3. 題中橫線處答案為: (2分)

  4. 列表的選擇模型有單選和多選兩種,設置列表選擇模型的方法是。 (2分)

  5. 多線程互斥使用共享資源的程序段,稱為,它是一種加鎖機制,與多線程共享資源有關,它的作用是在任何時該一個共享資源只能供一個線程使

  用。 (2分)

  6. 流在某些應用中,不希望順序讀寫流,而是需要采用隨機訪問方式,文件隨機訪問可利用類來實現。 (2分)

  7. 創建java.net包中URL對象可能會產生異常。 (2分)

  8. 以下代碼的輸出結果是。

  System.out.println(5>4||3<4); (2分)

  9. Java語言中需要采用隨機方式對文件進行讀寫,可利用類來實現。 (2分)

  10. 在Java語言中,package語句必須出現在程序文件的。 (2分)

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

  1. 某程序的界面包含了兩個按鈕button1和button2,一個文本框text。要求實現當點擊button1時,文本框中顯示“請認真做題!”;當點擊button2

  時,文本框中內容消失。

  import java.awt.*;

  import javax.swing.*;

  import java.awt.event.*;

  public class Class2801 extends JFrame

  {

  JButton butt1,butt2;

  JTextField text1;

  JFrame myWin;

  public Class2801(String s)

  {

  myWin=new JFrame(s);

  myWin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//關閉窗口時,整個應用程序關閉。若省略,關閉窗口時程序不終止,相當于setVisible

  (false)

  Container con=myWin.getContentPane();

  con.setLayout(new FlowLayout(FlowLayout.LEFT));

  butt1=new JButton("b1");

  butt2=new JButton("b2");

  butt1.addActionListener(this);

  butt2.addActionListener(this);

  con.add(butt1);con.add(butt2);

  text1=new JTextField(20);

  con.add(text1);

  myWin.pack();

  myWin.setVisible(true);

  }

  public static void main(String[] args)

  {

  Class2801 my=new Class2801("Class2801");

  }

  public void actionPerformed(ActionEvent e)

  {

  if(e.getSource()==butt1)

  text1.setText("請認真做題!");

  else

  ;

  }

  } (2分)

  2. 以下是生成菜單項對象,以及菜單項選擇事件處理方法的代碼。要求當菜單項singingItem被選中時,在文本框text中輸出“唱歌菜單項被選中!”

  的字樣。

  …………

  singingItem=new("唱歌");//生成菜單項對象

  …………

  public void actionPerformed(ActionEvent e)

  {

  if(e.getSource()==singingItem)

  {

  text.setText(e.()+"菜單項被選中!");

  }

  } (2分)

  3. 回文整數是指正讀和反讀都一樣的整數。方法f2705(int n)的功能是判斷十進制整數n是否為回文整數。例如:n=123321,該方法返回值為true;

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

  boolean f2705(int n)

  {

  Integer M=n;

  String s=;

  int i=0;

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

  {

  String s1,s2;

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

  s2=s.substring(s.length()-i-1,s.length()-i);

  if(!())break;

  i++;

  }

  if (i<s.length()/2) return false;

  else return true;

  } (2分)

  4. 程序運行結果如下圖:五個按鈕按照緊湊方式顯示在窗口中。

  import java.awt.*;

  import javax.swing.*;

  public class Class2805

  {

  public static void main(String[] args)

  {

  myWin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

  myWin.setBounds(100,200,400,200);

  Container con=myWin.getContentPane();

  con.setBackground(Color.red);

  con.setLayout(new FlowLayout());

  JButton button[]=new JButton[5];

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

  {

  button[i]=new JButton("第"+(i+1)+"個按鈕");

  con.add(button[i]);

  }

  myWin.setVisible(true);

  }

  } (2分)

  5. 下面小應用程序實現在一個文本框中輸入整數后回車,另一個文本框中顯示這個整數的平方。

  import javax.swing.*;

  import java.applet.*;

  import java.awt.event.*;

  public class C2802 extends Applet

  {

  static JTextField text1,text2;

  CC c=new CC();

  public void init()

  {

  text1=new JTextField(10);

  text2=new JTextField(20);

  add(text1);add(text2);

  }

  }

  class CC implements ActionListener

  {

  public void actionPerformed(ActionEvent e)

  {

  if(e.getSource()==C2802.text1)

  {

  long n=;

  C2802.text2.setText(n*n+"");

  }

  }

  } (2分)

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

  1. 寫出下面程序的運行結果。

  public class Class34ThreadTest

  {

  public static void main(String args[])

  {

  Hello h=new Hello();

  Thread t=new Thread(h);

  t.start();

  }

  }

  class Hello implements Runnable

  {

  int i;

  public void run()

  {

  while(true)

  {

  System.out.println("Hello"+i++);

  if(i==5) break;

  }

  }

  } (4分)

  2. 閱讀程序,畫出程序運行后的界面并寫出程序的功能。

  import java.awt.*;

  import javax.swing.*;

  import java.awt.event.*;

  public class Class3601 implements AdjustmentListener

  {

  JScrollBar myBar;

  JLabel label;

  public Class3601(String s)

  {

  JFrame myWin=new JFrame(s);

  Container con=myWin.getContentPane();

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

  myBar=new JScrollBar(JScrollBar.HORIZONTAL,5,20,0,300);

  label=new JLabel(""+myBar.getValue(),JLabel.CENTER);

  myBar.addAdjustmentListener(this);

  con.add(label);

  con.add(myBar);

  myWin.setSize(300,100);

  myWin.setVisible(true);

  }

  public void adjustmentValueChanged(AdjustmentEvent e)

  {

  label.setText(""+e.getAdjustable().getValue());

  }

  public static void main(String[] args)

  {

  new Class3601("Class3601");

  }

  } (4分)

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

  import java.util.*;

  import java.awt.*;

  import javax.swing.*;

  import java.awt.event.*;

  public class Class3503 implements ActionListener

  {

  JButton button1,button2;

  JLabel label;

  JTextArea textA;

  JTextField text;

  int n;

  public Class3503()

  {

  JFrame myWin=new JFrame("Class3503");

  myWin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

  Container con=myWin.getContentPane();

  con.setLayout(new FlowLayout());

  textA=new JTextArea("",5,10);

  JScrollPane jsp=new JScrollPane(textA);

  con.add(jsp);

  button1=new JButton("sum");

  button2=new JButton("ave");

  button1.addActionListener(this);

  button2.addActionListener(this);

  con.add(button1);con.add(button2);

  label=new JLabel("計算結果:");

  con.add(label);

  text=new JTextField(10);

  con.add(text);

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

  myWin.setVisible(true);

  }

  int sum()

  {

  String str=textA.getText();

  StringTokenizer tokens=new StringTokenizer(str);

  n=tokens.countTokens();

  int s=0;

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

  {

  String t=tokens.nextToken();

  s+=Integer.parseInt(t);

  }

  return s;

  }

  float avg()

  {

  return (float)sum()/n;

  }

  public void actionPerformed(ActionEvent e)

  {

  if(e.getSource()==button1)

  {

  label.setText("輸入數的和");

  text.setText(""+sum());

  }

  if(e.getSource()==button2)

  {

  label.setText("輸入數的平均值");

  text.setText(""+avg());

  }

  }

  public static void main(String[] args)

  {

  new Class3503();

  }

  } (4分)

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

  public class Class3305

  {

  public static void main(String args[])

  {

  byte b[]=new byte[10];

  for(int k=0;k<10;k++)

  b[k]=(byte)(k+48);

  String s1=new String(b);String s2=new String(b,3,6);

  String s3=new String("ABC");String s4=new String("JAVA程序");

  byte c[]=s3.getBytes();byte d[]=s4.getBytes();

  System.out.println(s2);

  System.out.println(s3);

  System.out.println(c.length);

  System.out.println(d.length);

  }

  } (4分)

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

  import java.util.StringTokenizer;

  public class C3301

  {

  public static void main(String[] args)

  {

  String ss="public static void main";

  StringTokenizer pas=new StringTokenizer(ss," ");

  int n=pas.countTokens();

  System.out.println(n);

  String s=pas.nextToken();

  for(pas.nextToken();pas.hasMoreTokens();s=pas.nextToken())

  System.out.println(s);

  }

  }

  (4分)

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

  1. 設計一個應用程序,求整數文件intfile1.txt中各行整數的和,并把和存入到另一個文件intfile2.txt中。設整數文件中全是整數,整數序列被

  分成行,各行整數個數不等且用空格分隔。要求程序將文件中各行整數的和輸出在另一個文件中。 (6分)

  2. 一個Java小應用程序,界面有兩個文本框、一個文本區和一個按鈕,兩個文本框用于輸入整數,文本區用于輸出結果。按鈕表示求兩個整

  數之間的素數。當兩個文本框輸入整數后,點擊相應按鈕,程序就將兩個整數之間的所有素數用空格隔開每5個一行輸出在文本區中。以下是程序的

  大部分,其中監視按鈕事件的方法未給出,試編寫處理按鈕事件的方法。

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

  import java.applet.*;

  import javax.swing.*;

  import java.awt.event.*;

  class MyPanel extends JPanel

  {

  JTextField text1,text2;

  JTextArea textA;

  JButton button;

  MyPanel()

  {

  text1=new JTextField(10);

  text2=new JTextField(10);

  textA=new JTextArea(10,10);

  button=new JButton("求兩個整數之間的素數");

  add(text1);add(text2);add(button);add(textA);

  }

  }

  public class C3802 extends Applet implements ActionListener

  {

  MyPanel panel;

  public void init()

  {

  setSize(600,200);panel=new MyPanel();add(panel);

  panel.button.addActionListener(this);

  }

  public void actionPerformed(ActionEvent e)

  {

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

  }

  } (6分)

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

  1. 設有整型變量x和y的值分別為5和110。請指出執行了下面循環語句后,變量x和y的值分別是多少?

  do{x=y/x;y=y-x;}while(y>=1); (3分)

  2. 能將類同時聲明為abstract和final嗎?為什么? (3分)

  3. 請寫出一條語句,能夠繪制一條垂直線段,上端點坐標為(200,300),長為100像素。設調用的對象是類型為Graphics的g。 (3分)

  4. 如果類A1是類A0的子類,類A2是類A1的子類,請指出以下代碼行中哪些是不合法的?

  ①A0 p1=new A1();

  ②A0 p2=new A2();

  ③A1 p3=new A0();

  ④A1 p4=new A2();

  ⑤A2 p5=new A0();

  ⑥A2 p6=new A1();

  ⑦Object ob=new A1(); (3分)

  5. 請寫出一條Java語句,要求建立一個文件對象f,其對應的磁盤文件是“d:\gzq.txt”。 (3分)

  6. 使用Java語言進行數據庫操作,刪除數據表記錄有哪三種方案? (3分)

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

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

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

  1:參考答案:C

  參考解析:(P171)在互斥同步機制的實現中,稍有不當,就可能產生死鎖。Java語言對死鎖問題沒有特別處理,只能由用戶在編程時注意。Java技術

  既不能發現死鎖也不能避免死鎖。防止死鎖的有效方法是:①線程因為某個條件未滿足,不能讓其繼續占有資源;②如果由多個對象需要互斥訪問

  ,應確定線程獲得鎖的順序,并保證整個程序以相反的順序釋放鎖。

  試題內容:

  如果發生多個線程形成一個等待環,這樣,所有線程都陷入相互等待的狀態。這種循環等待現象稱為()

  A:互斥

  B:同步

  C:死鎖

  D:臨界

  2:參考答案:D

  參考解析:(P167)如果一個線程已進入某個共享資源的臨界段,且還沒有使用結束,其他進程必須等待。

  試題內容:

  下面有關臨界段敘述錯誤的是()

  A:多線程互斥使用共享資源的.程序段被稱為臨界段

  B:臨界段是一種加鎖機制,與多線程共享資源有關

  C:臨界段的作用是在任何時該一個共享資源只能供一個線程使用

  D:如果一個線程已進入某個共享資源的臨界段,且還沒有使用結束,其他進程可搶占這個共享的資源

  3:參考答案:D

  參考解析:(P14)百分號運算為求余運算符,但是和前面字符串進行的是連接運算。

  試題內容:

  以下程序代碼的輸出結果是()

  int x=100;

  System.out.println("5.5"+x%8);

  A:5.512

  B:5.512.5

  C:18

  D:5.54

  4:參考答案:C

  參考解析:(P77)StringTokenizer用于對單詞的分析,本題是用?a?作為分隔,這樣句子"I am a student"被分隔為三部分。countTokens()方法得到3。

  試題內容:

  在Java程序中有代碼如下:

  System.out.println(

  (new StringTokenizer("I am a student","a")).countTokens());

  則輸出結果為()

  A:I am a student

  B:2

  C:3

  D:4

  5:參考答案:A

  參考解析:(P175)

  試題內容:

  為8位字節流數據提供讀操作支持的類是()

  A:FileInputStream

  B:FileOutputStrem

  C:FileReader

  D:FileWriter

  6:參考答案:A

  參考解析:(P54)本題考核知識點是Java抽象類及抽象方法。抽象類和抽象方法都是使用abstract進行修飾。抽象類只聲明一個模板,沒有具體實現的

  代碼,只有它的子類才可能有實際意義。抽象方法只能出現在抽象類中,抽象方法在抽象類中只聲明了一個方法頭部就用分號結束了,沒有實現方

  法功能的代碼。使用final修飾的類、方法和變量都是不可以再改變的。final類不能被繼承,final方法不能被子類的方法覆蓋,final變量相當于一個常

  量。

  試題內容:

  下列有關抽象類及抽象方法的敘述錯誤的是()

  A:使用final修飾的類是抽象類

  B:使用abstract修飾的方法是抽象方法

  C:抽象類必須被繼承才能使用,抽象類不可能有實例

  D:抽象類可以沒有抽象方法,但有抽象方法的類一定是抽象類

  7:參考答案:A

  參考解析:(P201)本題考核知識點是DriverManager類。DriverManager類處理驅動程序的加載和建立新數據連接;Statement類用于在指定的連接中處

  理SQL語句;Connection類用于處理與特定數據庫的連接;ResultSet類用于處理SQL語句執行后的查詢結果。

  試題內容:

  在編寫Java程序訪問數據庫的過程中,用來處理驅動程序的加載和建立新數據庫連接的類是()

  A:DriverManager類

  B:Statement類

  C:Connection類

  D:ResultSet類

  8:參考答案:A

  參考解析:(P14)j=++i;++運算符在前,則表示先運算;變量i在后,則后使用。先運算++i,這時i的值變為11,后使用把i賦值給j,j也是11。這里的運算

  指自增運算。若是j=i++;++運算符在后,則后運算;變量i在前,則表示先使用。先使用,這時i的值是10,使用是把i賦值給j,j也是10,然后i再運算

  ,i變為11。結果為11和10。自減運算是一樣的,如果把++i或i++放到更復雜的式子中也是一樣的規律。

  試題內容:

  在Java語言中執行如下語句后,i和j的值分別為()

  int i=10;int j=++i;

  A:11和11

  B:10和10

  C:10和11

  D:11和10

  9:參考答案:A

  參考解析:(P87)例如:當用戶點擊Button對象對應的按鈕時,系統就將一個ActionEvent事件對象從事件激發對象傳遞到監視器。ActionEvent對象包

  含的信息有事件發生在哪一個按鈕上以及有關事件的其他信息。

  試題內容:

  包含當事件發生時從源傳遞給監視器的特定事件信息的對象是()

  A:事件對象

  B:源對象

  C:監視器對象

  D:接口

  10:參考答案:B

  參考解析:(P140)本題考核知識點是繪圖模式。繪圖模式設置為異或模式后,用背景色繪圖將出現異或模式設置的顏色。

  試題內容:

  在Java程序中有如下設置:setBackground(Color.blue);g.setXORMode(Color.red); g.setColor(Color.blue);g.drawLine(300,300,500,500);則線的顏色是()

  A:藍色

  B:紅色

  C:黃色

  D:綠色

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

  1:參考答案:(P111)addItemListener(ItemListener I)

  試題內容:

  為選擇框(JCheckBox)對象設定監視器的方法是:_____。

  2:參考答案:(P207)moveToInserRow()

  試題內容:

  使用ResultSet對象的_____方法可將數據表游針移到插入位置,輸入數據后,用方法insertRow()插入記錄。

  3:參考答案:(P70)5

  試題內容:

  題中橫線處答案為:_____

  4:參考答案:(P115)setSelectionMode()

  試題內容:

  列表的選擇模型有單選和多選兩種,設置列表選擇模型的方法是_____。

  5:參考答案:(P167)臨界段

  試題內容:

  多線程互斥使用共享資源的程序段,稱為_____,它是一種加鎖機制,與多線程共享資源有關,它的作用是在任何時該一個共享資源只能供

  一個線程使用。

  6:參考答案:(P180)RandomAccessFile

  試題內容:

  流在某些應用中,不希望順序讀寫流,而是需要采用隨機訪問方式,文件隨機訪問可利用_____類來實現。

  7:參考答案:MalformedURLException

  [解析](P191)創建java.net包中URL對象可能會產生MalformedURLException異常,所以,創建URL對象的代碼應出現在

  try...catch語句塊中,以便能捕捉網址錯誤異常

  試題內容:

  創建java.net包中URL對象可能會產生_____異常。

  8:參考答案:(P15)true

  試題內容:

  以下代碼的輸出結果是_____。

  System.out.println(5>4||3<4);

  9:參考答案:(P180)RandomAccessFile

  試題內容:

  Java語言中需要采用隨機方式對文件進行讀寫,可利用_____類來實現。

  10:參考答案:(P31)起始行

  試題內容:

  在Java語言中,package語句必須出現在程序文件的_____。

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

  1:參考答案:implements ActionListener

  text1.setText("")

  ,

  試題內容:

  某程序的界面包含了兩個按鈕button1和button2,一個文本框text。要求實現當點擊button1時,文本框中顯示“請認真做題!”;當點擊

  button2時,文本框中內容消失。

  import java.awt.*;

  import javax.swing.*;

  import java.awt.event.*;

  public class Class2801 extends JFrame_____

  {

  JButton butt1,butt2;

  JTextField text1;

  JFrame myWin;

  public Class2801(String s)

  {

  myWin=new JFrame(s);

  myWin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//關閉窗口時,整個應用程序關閉。若省略,關閉窗口時程序不終止,相當于setVisible(false)

  Container con=myWin.getContentPane();

  con.setLayout(new FlowLayout(FlowLayout.LEFT));

  butt1=new JButton("b1");

  butt2=new JButton("b2");

  butt1.addActionListener(this);

  butt2.addActionListener(this);

  con.add(butt1);con.add(butt2);

  text1=new JTextField(20);

  con.add(text1);

  myWin.pack();

  myWin.setVisible(true);

  }

  public static void main(String[] args)

  {

  Class2801 my=new Class2801("Class2801");

  }

  public void actionPerformed(ActionEvent e)

  {

  if(e.getSource()==butt1)

  text1.setText("請認真做題!");

  else

  _____;

  }

  }

  2:參考答案:JMenuItem

  getActionCommand

  ,

  試題內容:

  以下是生成菜單項對象,以及菜單項選擇事件處理方法的代碼。要求當菜單項singingItem被選中時,在文本框text中輸出“唱歌菜單項被選

  中!”的字樣。

  …………

  singingItem=new_____("唱歌");//生成菜單項對象

  …………

  public void actionPerformed(ActionEvent e)

  {

  if(e.getSource()==singingItem)

  {

  text.setText(e._____()+"菜單項被選中!");

  }

  }

  3:參考答案:M.toString()

  s1.equals(s2)

  ,

  試題內容:

  回文整數是指正讀和反讀都一樣的整數。方法f2705(int n)的功能是判斷十進制整數n是否為回文整數。例如:n=123321,該方法返回值為

  true;n=123,該方法返回值為false。

  boolean f2705(int n)

  {

  Integer M=n;

  String s=_____;

  int i=0;

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

  {

  String s1,s2;

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

  s2=s.substring(s.length()-i-1,s.length()-i);

  if(!(_____))break;

  i++;

  }

  if (i<s.length()/2) return false;

  else return true;

  }

  4:參考答案:JFrame myWin=new JFrame("Class2805");

  myWin.pack();

  ,

  試題內容:

  程序運行結果如下圖:五個按鈕按照緊湊方式顯示在窗口中。

  import java.awt.*;

  import javax.swing.*;

  public class Class2805

  {

  public static void main(String[] args)

  {

  _____

  myWin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

  myWin.setBounds(100,200,400,200);

  Container con=myWin.getContentPane();

  con.setBackground(Color.red);

  con.setLayout(new FlowLayout());

  JButton button[]=new JButton[5];

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

  {

  button[i]=new JButton("第"+(i+1)+"個按鈕");

  con.add(button[i]);

  }

  _____

  myWin.setVisible(true);

  }

  }

  5:參考答案:text1.addActionListener(c);

  Long.parseLong(C2802.text1.getText())

  ,

  試題內容:

  下面小應用程序實現在一個文本框中輸入整數后回車,另一個文本框中顯示這個整數的平方。

  import javax.swing.*;

  import java.applet.*;

  import java.awt.event.*;

  public class C2802 extends Applet

  {

  static JTextField text1,text2;

  CC c=new CC();

  public void init()

  {

  text1=new JTextField(10);

  text2=new JTextField(20);

  add(text1);add(text2);

  _____

  }

  }

  class CC implements ActionListener

  {

  public void actionPerformed(ActionEvent e)

  {

  if(e.getSource()==C2802.text1)

  {

  long n=_____;

  C2802.text2.setText(n*n+"");

  }

  }

  }

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

  1:參考答案:輸出結果為:

  Hello0

  Hello1

  Hello2

  Hello3

  Hello4

  試題內容:

  寫出下面程序的運行結果。

  public class Class34ThreadTest

  {

  public static void main(String args[])

  {

  Hello h=new Hello();

  Thread t=new Thread(h);

  t.start();

  }

  }

  class Hello implements Runnable

  {

  int i;

  public void run()

  {

  while(true)

  {

  System.out.println("Hello"+i++);

  if(i==5) break;

  }

  }

  }

  2:參考答案:程序運行后的界面如下:

  程序的功能是:拖動滑塊,在上面的標簽中間顯示滑塊的當前值,范圍為0~280。

  試題內容:

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

  import java.awt.*;

  import javax.swing.*;

  import java.awt.event.*;

  public class Class3601 implements AdjustmentListener

  {

  JScrollBar myBar;

  JLabel label;

  public Class3601(String s)

  {

  JFrame myWin=new JFrame(s);

  Container con=myWin.getContentPane();

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

  myBar=new JScrollBar(JScrollBar.HORIZONTAL,5,20,0,300);

  label=new JLabel(""+myBar.getValue(),JLabel.CENTER);

  myBar.addAdjustmentListener(this);

  con.add(label);

  con.add(myBar);

  myWin.setSize(300,100);

  myWin.setVisible(true);

  }

  public void adjustmentValueChanged(AdjustmentEvent e)

  {

  label.setText(""+e.getAdjustable().getValue());

  }

  public static void main(String[] args)

  {

  new Class3601("Class3601");

  }

  }

  3:參考答案:程序運行后初始界面如下:

  程序功能:在左邊設有滾動條的文本區輸入若干整數,單擊sum按鈕,“計算結果”標簽顯示“輸入數的和”并在右邊文

  本框中顯示輸入數的和,;單擊ave按鈕,“計算結果”標簽顯示“輸入數的平均值”并在右邊文本框中顯示輸入數的平

  均值。

  試題內容:

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

  import java.util.*;

  import java.awt.*;

  import javax.swing.*;

  import java.awt.event.*;

  public class Class3503 implements ActionListener

  {

  JButton button1,button2;

  JLabel label;

  JTextArea textA;

  JTextField text;

  int n;

  public Class3503()

  {

  JFrame myWin=new JFrame("Class3503");

  myWin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

  Container con=myWin.getContentPane();

  con.setLayout(new FlowLayout());

  textA=new JTextArea("",5,10);

  JScrollPane jsp=new JScrollPane(textA);

  con.add(jsp);

  button1=new JButton("sum");

  button2=new JButton("ave");

  button1.addActionListener(this);

  button2.addActionListener(this);

  con.add(button1);con.add(button2);

  label=new JLabel("計算結果:");

  con.add(label);

  text=new JTextField(10);

  con.add(text);

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

  myWin.setVisible(true);

  }

  int sum()

  {

  String str=textA.getText();

  StringTokenizer tokens=new StringTokenizer(str);

  n=tokens.countTokens();

  int s=0;

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

  {

  String t=tokens.nextToken();

  s+=Integer.parseInt(t);

  }

  return s;

  }

  float avg()

  {

  return (float)sum()/n;

  }

  public void actionPerformed(ActionEvent e)

  {

  if(e.getSource()==button1)

  {

  label.setText("輸入數的和");

  text.setText(""+sum());

  }

  if(e.getSource()==button2)

  {

  label.setText("輸入數的平均值");

  text.setText(""+avg());

  }

  }

  public static void main(String[] args)

  {

  new Class3503();

  }

  }

  4:參考答案:程序運行結果:

  345678

  ABC

  3

  8

  試題內容:

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

  public class Class3305

  {

  public static void main(String args[])

  {

  byte b[]=new byte[10];

  for(int k=0;k<10;k++)

  b[k]=(byte)(k+48);

  String s1=new String(b);String s2=new String(b,3,6);

  String s3=new String("ABC");String s4=new String("JAVA程序");

  byte c[]=s3.getBytes();byte d[]=s4.getBytes();

  System.out.println(s2);

  System.out.println(s3);

  System.out.println(c.length);

  System.out.println(d.length);

  }

  }

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

  4

  static

  void

  試題內容:

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

  import java.util.StringTokenizer;

  public class C3301

  {

  public static void main(String[] args)

  {

  String ss="public static void main";

  StringTokenizer pas=new StringTokenizer(ss," ");

  int n=pas.countTokens();

  System.out.println(n);

  String s=pas.nextToken();

  for(pas.nextToken();pas.hasMoreTokens();s=pas.nextToken())

  System.out.println(s);

  }

  }

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

  1:參考答案:程序如下:

  import java.io.*;

  import java.util.*;

  public class Class3803

  {

  public static void main(String[] args)

  {

  RandomAccessFile in,out;

  try

  {

  in=new RandomAccessFile("intfile1.txt","r");

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

  String s;

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

  {

  StringTokenizer token=new StringTokenizer(s);

  long sum=0;

  while(token.hasMoreTokens())

  {

  sum+=Integer.parseInt(token.nextToken());

  }

  out.writeLong(sum);

  }

  in.close();out.close();

  }

  catch(FileNotFoundException e)

  {System.out.println("文件找不到!"+e);}

  catch(IOException e)

  {System.out.println("文件讀寫錯!"+e);}

  }

  }

  試題內容:

  設計一個應用程序,求整數文件intfile1.txt中各行整數的和,并把和存入到另一個文件intfile2.txt中。設整數文件中全是整數,整數序列被分

  成行,各行整數個數不等且用空格分隔。要求程序將文件中各行整數的和輸出在另一個文件中。

  2:參考答案:long m,n;

  m=Long.parseLong(panel.text1.getText());

  n=Long.parseLong(panel.text2.getText());

  if (m>n)

  {long t=m;m=n;n=t;}

  panel.textA.setText("");

  int i=0;

  for(long i=m;i<=n;i++)

  {

  long j;

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

  if (i%j==0)break;

  if(j==i)

  {

  panel.textA.append(" "+i);

  i++;

  if(i%5==0)

  panel.textA.append("\n");

  }

  }

  試題內容:

  一個Java小應用程序,界面有兩個文本框、一個文本區和一個按鈕,兩個文本框用于輸入整數,文本區用于輸出結果。按鈕表示求兩個整數

  之間的素數。當兩個文本框輸入整數后,點擊相應按鈕,程序就將兩個整數之間的所有素數用空格隔開每5個一行輸出在文本區中。以下是程序的大

  部分,其中監視按鈕事件的方法未給出,試編寫處理按鈕事件的方法。

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

  import java.applet.*;

  import javax.swing.*;

  import java.awt.event.*;

  class MyPanel extends JPanel

  {

  JTextField text1,text2;

  JTextArea textA;

  JButton button;

  MyPanel()

  {

  text1=new JTextField(10);

  text2=new JTextField(10);

  textA=new JTextArea(10,10);

  button=new JButton("求兩個整數之間的素數");

  add(text1);add(text2);add(button);add(textA);

  }

  }

  public class C3802 extends Applet implements ActionListener

  {

  MyPanel panel;

  public void init()

  {

  setSize(600,200);panel=new MyPanel();add(panel);

  panel.button.addActionListener(this);

  }

  public void actionPerformed(ActionEvent e)

  {

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

  }

  }

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

  1:參考答案:(P35)x=18,y=0

  試題內容:

  設有整型變量x和y的值分別為5和110。請指出執行了下面循環語句后,變量x和y的值分別是多少?

  do{x=y/x;y=y-x;}while(y>=1);

  2:參考答案:(P54)不能。Final類是不能被再繼承的類,即它不能再有子類。而abstract類稱為抽象類,抽象類只聲明一種模板,

  是沒有具體實現代碼的類,只有它的子類才可能是有實際意義的類,所有抽象類必須被繼承,必須有子類,然后在子類

  中可以實現超類的抽象方法,否則不可能有實例。所以abstract和final不可能同時用來修飾一個類。

  試題內容:

  能將類同時聲明為abstract和final嗎?為什么?

  3:參考答案:(P140)g.drawLine(200,300,200,400)

  試題內容:

  請寫出一條語句,能夠繪制一條垂直線段,上端點坐標為(200,300),長為100像素。設調用的對象是類型為Graphics的g。

  4:參考答案:(P51)③⑤⑥不合法。

  試題內容:

  如果類A1是類A0的子類,類A2是類A1的子類,請指出以下代碼行中哪些是不合法的?

  ①A0 p1=new A1();

  ②A0 p2=new A2();

  ③A1 p3=new A0();

  ④A1 p4=new A2();

  ⑤A2 p5=new A0();

  ⑥A2 p6=new A1();

  ⑦Object ob=new A1();

  5:參考答案:(P175)File f=new File("d:\\gzq.txt");

  試題內容:

  請寫出一條Java語句,要求建立一個文件對象f,其對應的磁盤文件是“d:\gzq.txt”。

  6:參考答案:(P208)

  (1)使用Statement對象;

  (2)使用ResultSet對象;

  (3)使用PrepareStatement對象。


【Java語言程序設計試題附參考答案】相關文章:

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

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

3.C語言程序設計試題附答案

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

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

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

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

8.C語言程序設計期末試題附答案