Java語言程序設計模擬試題及答案
Java語言程序設計詳細介紹了Java語言的基本概念和編程方法,同時深入介紹了Java的高級特性。以下是由陽光網(wǎng)小編整理關(guān)于Java語言程序設計模擬試題的內(nèi)容,希望大家喜歡!
Java語言程序設計模擬試題
一、單項選擇題(本大題共10小題,每小題1分,共10分) 在每小題列出的四個備選項中只有一個是符合題目要求的,請將其代碼填寫在題后的括號內(nèi)。錯選、多選或未選均無分。
1. 在Java中,負責對字節(jié)代碼解釋執(zhí)行的是() (1分)
A:垃圾回收器
B:虛擬機
C:編譯器
D:多線程機制
2. 在Java中,獲取選擇框是否被選中的方法是() (1分)
A:getSelect()
B:getSelected()
C:isSelect()
D:isSelected()
3. 下列敘述中,正確的是() (1分)
A:Java語言的標識符是區(qū)分大小寫的
B:源文件名與public類名可以不相同
C:源文件名其擴展名為.jar
D:源文件中public類的數(shù)目不限
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. 列表事件的事件源有兩種,其中之一是單擊列表中的選項,則與單擊選項事件相關(guān)的接口是() (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:連續(xù)出現(xiàn)多個分號
B:try......catch語句
C:include語句
D:switch語句
9. 在Java程序中,已將FileWriter對象接到BufferedWriter對象上,要實現(xiàn)緩沖式輸出,可對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 源文件中最多只能有一個類,其他類的個數(shù)不限。 (2分)
2. Java語言將類型分為基本類型和類型兩種。 (2分)
3. 當在一個容器中放入多個選擇框之前,可以先用對象將多個選擇框分組,使得同一時刻組內(nèi)的多個選擇框只允許有一個被選中。 (2分)
4. Java語言使用字符集,共有65535個字符。 (2分)
5. 給Java中的菜單項設置快捷鍵所使用的類中對應的構(gòu)造方法為。 (2分)
6. 類java.awt.Graphics的成員方法可以用來顯示一幅圖像。 (2分)
7. Java語言為處理鼠標事件提供了兩個接口,其中接口能處理鼠標拖動和鼠標移動兩種事件。 (2分)
8. 當在一個容器中放入多個選擇框之前,可以先用對象將多個選擇框分組,使得同一時刻組內(nèi)的多個選擇框只允許有一個被選中。 (2分)
9. Java語言在實現(xiàn)C/S模式中,套接字分為兩類,其中在Server端,類支持底層的網(wǎng)絡通信。 (2分)
10. Java語言使用字符集,共有65535個字符。 (2分)
三、程序填空題(本大題共5小題,每空2分,共20分)
1. 程序運行結(jié)果為:
2008年10月1日
2009年2月2日
請?zhí)羁眨?/p>
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. 下列小應用程序?qū)崿F(xiàn)如下功能:紅點沿直線循環(huán)向下運動的同時,藍點沿直線循環(huán)向上運動。
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)返回十進制整數(shù)n的位數(shù)。
f2701(int n)
{
int c;
for(c=0;;c++)n/=10;
return c;
} (2分)
5. 方法f2702(int n)返回2~n之間的所有質(zhì)數(shù)的個數(shù)。
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. 閱讀下列程序,寫出程序的運行結(jié)果。
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. 閱讀下列程序,寫出程序的'運行結(jié)果。
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. 設計一個應用程序,原始數(shù)據(jù)從程序界面的一個文本區(qū)輸入,用戶點擊按鈕后,在另一個文本區(qū)上輸出排序后的數(shù)據(jù),并將排序后的數(shù)
據(jù)輸出到文件中。已給出部分代碼,請完成程序。
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(),要求該方法有一個元素類型為整型的數(shù)組參數(shù),方法的功能是把參數(shù)數(shù)組中元素值相同的元素刪成只剩一個,經(jīng)
過刪除后會得到一個新數(shù)組,方法返回這個新數(shù)組。 (6分)
六、簡答題(本大題共6小題,每小題3分,共18分)
1. 請寫出程序處理按鈕單擊事件時,與按鈕動作事件相關(guān)的接口,注冊監(jiān)視器的方法及要實現(xiàn)的接口方法。 (3分)
2. 寫出畫多邊形的兩個常用方法。 (3分)
3. Java語言在實現(xiàn)C/S模式中,套接字分為哪兩類? (3分)
4. 文本框(JTextField)是界面中用于輸入和輸出一行文本的區(qū)域。文本框處理程序的基本內(nèi)容有哪五個方面? (3分)
5. 在類的方法名前面和成員變量名前面加上public和protected有何區(qū)別? (3分)
6. 在Java語言中,循環(huán)語句有哪三種? (3分)
Java語言程序設計模擬試題參考答案
一、單項選擇題 (本大題共10小題,每小題1分,共10分) 在每小題列出的四個備選項中只有一個是符合題目要求的,請將其代碼填寫在題后的括號內(nèi)
。錯選、多選或未選均無分。
1:參考答案:B
參考解析:(P4)在任何平臺上,Java源程序被Java編譯器譯成虛擬機能夠識別的字節(jié)碼。這樣,只要有Java虛擬機的平臺,
就能解釋執(zhí)行Java字節(jié)碼程序,從而實現(xiàn)Java程序與平臺無關(guān)。
試題內(nèi)容:
在Java中,負責對字節(jié)代碼解釋執(zhí)行的是()
A:垃圾回收器
B:虛擬機
C:編譯器
D:多線程機制
2:參考答案:D
參考解析:(P111)isSelected()方法當選擇框被選中時返回true。所有的方法都是第一個字母小字,若是多個單詞組成的名字,后面的每個單詞首字母
均大寫。這是一個規(guī)律。沒有A、B、C這三種方法。
試題內(nèi)容:
在Java中,獲取選擇框是否被選中的方法是()
A:getSelect()
B:getSelected()
C:isSelect()
D:isSelected()
3:參考答案:A
參考解析:(P8)源文件中如果有public類,則源文件名與public類名必須相同;源文件名其擴展名為.java;源文件中public類的數(shù)目不能多于一個。
試題內(nèi)容:
下列敘述中,正確的是()
A:Java語言的標識符是區(qū)分大小寫的
B:源文件名與public類名可以不相同
C:源文件名其擴展名為.jar
D:源文件中public類的數(shù)目不限
4:參考答案:A
參考解析:(P111)
試題內(nèi)容:
要為程序中的按鈕button設置一個熱鍵alt+A,可以采用的代碼是()
A:button.setMnemonic(?A?)
B:button.setMnemonic("alt+A")
C:button.setToolTipText(?A?)
D:button.setToolTipText("alt+A")
5:參考答案:B
參考解析:(P138)
試題內(nèi)容:
在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是與雙擊選項事件相關(guān)的接口,注冊監(jiān)視器的方法是addActionListener(),接口方法是
actionPerformed(ActionEvent e)。與單擊選項事件相關(guān)的接口是ListSelectionListener,注冊監(jiān)視器的方法是
addListSelectionListener(),接口方法是valueChanged(ListSelectionEvent e)。
試題內(nèi)容:
列表事件的事件源有兩種,其中之一是單擊列表中的選項,則與單擊選項事件相關(guān)的接口是()
A:ActionListener
B:ListSelectionEvent
C:ListSelectionListener
D:addListSelectionListener
7:參考答案:B
參考解析:(P77)
試題內(nèi)容:
在Java語言的java.util包中,用于語言符號(單詞)分析的類是()
A:stringTokenizer
B:StringTokenizer
C:ToKenizer
D:tokenizer
8:參考答案:C
參考解析:(P20)本題考核知識點是Java語句。在Java語言中連續(xù)出現(xiàn)多個分號不是一種錯誤,編譯系統(tǒng)認為每個單獨的分號都是一個空語句。B答案
是捕獲異常的語句。D答案是多分支選擇語句。在Java中沒有include語句。
試題內(nèi)容:
下列語句中,錯誤的Java語句是()
A:連續(xù)出現(xiàn)多個分號
B:try......catch語句
C:include語句
D:switch語句
9:參考答案:B
參考解析:(P179)本題考核知識點是用緩沖式輸出。采用緩沖式輸出時,write()方法只是將字符串寫入到系統(tǒng)內(nèi)設的緩沖區(qū),待緩沖區(qū)滿后,系統(tǒng)自
動將緩沖區(qū)中內(nèi)容寫入到文件。如果想立即寫入到文件,則需要調(diào)用flush()方法。
試題內(nèi)容:
在Java程序中,已將FileWriter對象接到BufferedWriter對象上,要實現(xiàn)緩沖式輸出,可對BufferedWriter對象使用的方法是()
A:read()
B:write()
C:readLine()
D:writeLong()
10:參考答案:A
參考解析:(P59)接口是一種只由常量定義和抽象方法組成的特殊類。用public修飾的接口是公共接口,可被所有的類和接口使用;而沒有public修飾
的接口只能被同一個包中的其他類和接口使用。接口的所有變量都默認為是final static屬性;所有的方法都默認為public abstract屬性。一個類通過使
用implements聲明自己使用一個或多個接口。實現(xiàn)多個接口時,接口名之間用逗號隔開。
試題內(nèi)容:
接口的所有變量和方法分別默認為是()
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
試題內(nèi)容:
Java 源文件中最多只能有一個_____類,其他類的個數(shù)不限。
2:參考答案:(P45)引用
試題內(nèi)容:
Java語言將類型分為基本類型和_____類型兩種。
3:參考答案:(P112)ButtonGroup
試題內(nèi)容:
當在一個容器中放入多個選擇框之前,可以先用_____對象將多個選擇框分組,使得同一時刻組內(nèi)的多個選擇框只允許有一個被選中。
4:參考答案:(P7)Unicode
試題內(nèi)容:
Java語言使用_____字符集,共有65535個字符。
5:參考答案:(P121)MenuShortcut(int key)
試題內(nèi)容:
給Java中的菜單項設置快捷鍵所使用的類中對應的構(gòu)造方法為_____。
6:參考答案:(P149)drawImage()
試題內(nèi)容:
類java.awt.Graphics的成員方法_____可以用來顯示一幅圖像。
7:參考答案:(P130)MouseMotionListener
試題內(nèi)容:
Java語言為處理鼠標事件提供了兩個接口,其中_____接口能處理鼠標拖動和鼠標移動兩種事件。
8:參考答案:(P11)ButtonGroup
[解析]當在一個容器中放入多個選擇框,且沒有用ButtonGroup對象將它們分組,則可以同時選中多個選擇框。如果使用ButtonGroup對象將選擇
框分組,同一時刻組內(nèi)的多個選擇框只允許有一個被選中,稱同一組內(nèi)的選擇框為單選框。單選框分組的方法是先創(chuàng)建ButtonGroup對象,然后將希
望為同組的選擇框添加到同一個ButtonGroup對象中。
試題內(nèi)容:
當在一個容器中放入多個選擇框之前,可以先用_____對象將多個選擇框分組,使得同一時刻組內(nèi)的多個選擇框只允許有一個被選中。
9:參考答案:(P193)ServerSocket
試題內(nèi)容:
Java語言在實現(xiàn)C/S模式中,套接字分為兩類,其中在Server端,_____類支持底層的網(wǎng)絡通信。
10:參考答案:(P7)Unicode
試題內(nèi)容:
Java語言使用_____字符集,共有65535個字符。
三、程序填空題 (本大題共5小題,每空2分,共20分)
1:參考答案:y+"年"+m+"月"+d+"日"
Date(2009,2,2),
試題內(nèi)容:
程序運行結(jié)果為:
2008年10月1日
2009年2月2日
請?zhí)羁眨?/p>
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
,
試題內(nèi)容:
回文是指正讀和反讀都一樣的字符串。方法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
,
試題內(nèi)容:
下列小應用程序?qū)崿F(xiàn)如下功能:紅點沿直線循環(huán)向下運動的同時,藍點沿直線循環(huán)向上運動。
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
,
試題內(nèi)容:
方法f2701(int n)返回十進制整數(shù)n的位數(shù)。
_____f2701(int n)
{
int c;
for(c=0;_____;c++)n/=10;
return c;
}
5:參考答案:break;
count++
,
試題內(nèi)容:
方法f2702(int n)返回2~n之間的所有質(zhì)數(shù)的個數(shù)。
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:參考答案:輸出結(jié)果為:false,false,true
試題內(nèi)容:
請將以下程序段表示的計算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:參考答案:運行結(jié)果:The Text contains 5 thes
[解析]本題是檢索字符串有多少個the組合。注意有3個the,另外還有whether和them也有the。
試題內(nèi)容:
閱讀下列程序,寫出程序的運行結(jié)果。
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:參考答案:運行結(jié)果:
false
false false
false false false
false false false false
試題內(nèi)容:
閱讀下列程序,寫出程序的運行結(jié)果。
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按鈕窗口標題變?yōu)門eacher,單擊b2按鈕窗口標題變?yōu)镾tudent。
試題內(nèi)容:
閱讀程序,畫出程序運行后初始界面并寫出程序功能。
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”及鼠標當前坐標。
試題內(nèi)容:
閱讀下列程序,寫出程序功能。
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){}
試題內(nèi)容:
設計一個應用程序,原始數(shù)據(jù)從程序界面的一個文本區(qū)輸入,用戶點擊按鈕后,在另一個文本區(qū)上輸出排序后的數(shù)據(jù),并將排序后的數(shù)據(jù)
輸出到文件中。已給出部分代碼,請完成程序。
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;
}
[解析]方法中最后又重新定義一個數(shù)組c,是為了確定最終返回的數(shù)組的大小。這里不能直接把b數(shù)組返回。
試題內(nèi)容:
編寫一個方法f3702(),要求該方法有一個元素類型為整型的數(shù)組參數(shù),方法的功能是把參數(shù)數(shù)組中元素值相同的元素刪成只剩一個,經(jīng)過
刪除后會得到一個新數(shù)組,方法返回這個新數(shù)組。
六、簡答題 (本大題共6小題,每小題3分,共18分)
1:參考答案:(P92)相關(guān)接口是:ActionListener;注冊監(jiān)視器的方法是:addActionListener(this);在接口中要實現(xiàn)的方法是:
public void actionPerformed(ActionEvent e)。
試題內(nèi)容:
請寫出程序處理按鈕單擊事件時,與按鈕動作事件相關(guān)的接口,注冊監(jiān)視器的方法及要實現(xiàn)的接口方法。
2:參考答案:(P142)drawPolygon(int x[],int y[],int n):用x、y數(shù)組對應的n對元素值作為n個點坐標,畫一個多邊形
fillPolygon(int x[],int y[],int n) 用x、y數(shù)組對應的n對元素值作為n個點坐標,畫一個多邊形,并對這個多邊
形使用setColor()方法設置的顏色進行著色。
試題內(nèi)容:
寫出畫多邊形的兩個常用方法。
3:參考答案:(P193)
(1)客戶端使用的套接字類是Socket類。
(2)服務器端使用的套接字類是ServerSocket類。
試題內(nèi)容:
Java語言在實現(xiàn)C/S模式中,套接字分為哪兩類?
4:參考答案:(P102)
①聲明一個文本框名。
②建立一個文本框?qū)ο蟆?/p>
、蹖⑽谋究?qū)ο蠹尤氲侥硞容器。
、軐π枰刂频奈谋究?qū)ο笞员O(jiān)視器,監(jiān)聽文本框的輸入結(jié)束事件(即輸入回車鍵)。
、菀粋處理文本框事件的方法,完成結(jié)截獲事件進行判斷和處理。
試題內(nèi)容:
文本框(JTextField)是界面中用于輸入和輸出一行文本的區(qū)域。文本框處理程序的基本內(nèi)容有哪五個方面?
5:參考答案:(P48)加上public,類外的任何方法都訪問它們。加上protected后,對于不是這個類的子類和不在同一包中的別的類來說,不能
訪問它們。
[解析](1)首先不論在類的方法名前面和成員變量名前面加上什么訪問權(quán)限,這個類本身的方法都可以訪問它們。(2)在類的方法名前面和成
員變量名前面加上public訪問權(quán)限,則類外的任何方法也都能訪問這些加了public訪問權(quán)限的方法和成員變量。(3)加上protected受保護訪問權(quán)限,
則只允許這個類的子類和同一包中的別的類可以訪問這些方法和成員變量,對于不是這個類的子類且不在同一包中的類來說,不能訪問這些方法和
成員變量。
試題內(nèi)容:
在類的方法名前面和成員變量名前面加上public和protected有何區(qū)別?
6:參考答案:(P20)while語句、do...while語句、for語句。
試題內(nèi)容:
在Java語言中,循環(huán)語句有哪三種?
【Java語言程序設計模擬試題及答案】相關(guān)文章: