Java语言程序设计一真题Word文档格式.docx
《Java语言程序设计一真题Word文档格式.docx》由会员分享,可在线阅读,更多相关《Java语言程序设计一真题Word文档格式.docx(14页珍藏版)》请在冰豆网上搜索。
myA[]=newint[5];
D.int[]myA={1,2,3,4,5,6};
5.某Java程序的类A需要利用Swing创建无边框窗口,则A需要继承的类是______
A.JWindow
B.JApplet
C.JFrame
D.JDialog
6.在以下供选的鼠标事件中,MouseMotionListener接口能处理的是______
A.按下鼠标键
B.拖动鼠标
C.鼠标进入
D.鼠标松开
[解析]MouseMotionListener接口能处理拖动鼠标和鼠标移动两种事件。
7.在以下代码中,能正确创建Font对象的是______
A.newFont("
宋体"
斜体,20);
B.newFont("
楷体"
20,正常);
C.newFont("
Font.BOLD,18);
D.newFont("
18,Font.BOLD);
[解析]在Java语言中,用类Font对象设置字型。
Font类的构造方法有:
Font(StringfontName,intstyle,intsize),3个参数分别表示字体、风格和字号。
其中,常用的风格有三种:
正常、粗体和斜体,分别用三个常量表示:
Font.PLAIN(正常)、Font.BOLD(粗体)和Font.ITALIC(斜体)。
8.某线程正处于运行状态,则在以下选项中,不可能是它的后继状态的是______
A.就绪状态
B.新建状态
C.阻塞状态
D.死亡状态
9.某Java程序用类JFileChooser来实现打开和保存文件对话框。
当对话框的返回值是JFileChooser.APPROVE_OPTION时,程序进一步的工作是______
A.用方法getName()取得文件名称
B.用方法getPath()取得文件路径
C.用方法getFile()取得文件内容
D.用方法getSelectedFile()取得文件对象
[解析]当对话框的返回值是JFileChooser.APPROVE_OPTION时,程序就可以利用getSelectedFile()方法取得文件对象,并利用这个文件对象用方法getName()取得文件的名称,用方法getPath()取得文件的路径。
10.Java语言实现C/S模式时,需要使用网络套接字,套接字的内容包括______
A.IP地址+端口号
B.IP地址+监控线程名
C.监控线程名+端口号
D.IP地址+监控线程名+端口号
[解析]在客户机/月艮务器工作模式中,在Server端,要准备接受多个Client端计算机的通信。
为此,除用IP地址标识Internet上的计算机之外,另还引入端口号,用端口号标识正在Server端后台服务的线程。
端口号与IP地址的组合称为网络套接字(socket)。
二、第Ⅱ部分非选择题
填空题(总题数:
20.00)
11.一个Java小应用程序必须定义成一个子类,它的超类是1。
2.00)
Applet
12.在Java语言中,左移运算符是1。
<<
13.类A的成员变量x的类型是类B的,则类A和类B之间的关系是1。
has-a
14.以下代码:
StringTokenizerpas=newStringTokenizer("
publicstaticvoid,main"
"
);
System.out.println("
有单词"
+pas.countTokens()+"
个"
的输出结果是1。
有单词4个
15.在JFrame子类的构造方法中,代码getContentPane()的作用是1。
获得JFrame子类对象的内容面板
16.用JScrollBar创建一个垂直滚动条对象时,需要指定的常量是1。
JScrollBar.VERTICAL
17.在异或模式下绘图时,实际绘制的颜色是由3种颜色作特定的运算确定的:
当前正要绘制的颜色、原先绘制的颜色以及1。
模式设定的颜色
18.处于运行状态的线程执行yield()方法,该线程将进入1状态。
就绪
19.在Java语言中,客户端使用的套接字类是1。
Socket
20.在Java语言中,DriverManager类的作用是加载驱动程序和1。
建立与新数据库的连接
三、简答题(总题数:
6,分数:
18.00)
21.已知整型变量n,当n的值为0时,输出“正常”,否则输出“异常”。
请写出使用switch语句实现此功能的代码。
3.00)
__________________________________________________________________________________________
正确答案:
()
switch(n){
case0:
System.out.println("
正常"
break;
default:
异常"
}
22.请写出在类、方法、变量之前加上修饰字final的作用。
用final修饰类,声明该类是不能被再继承的类。
用final修饰方法,声明该方法不能被子类的方法覆盖。
用final修饰变量,声明该变量的值不能被改变。
23.请列举出能产生ActionEvent事件类型的3种组件。
JButton、JCheckBox、JComboBox、JMenultem、JRadioButton
24.某程序用以下代码弹出一个对话框:
intanwser=JOptionPane.showConfirmDialog(null,"
确实要退出吗?
"
退出确认"
OptionPane.YES_NO_CANCEL_OPTION);
如果程序中anwser的值等于CLOSED_OPTION,请写出用户对该对话框的操作内容。
用户直接关闭对话窗口
25.请写出用矩形类Rectangle2D创建对象r的代码,对象r的左上角坐标是(20,30),宽是50,高是70。
Rectangle2Dr=newRectangle2D.Double(20,30,50,70);
26.URL对象的格式是:
<METHOD>:
//<HOSTNAME:
PORT>/<PATH>/<FILE>,请写出其中HOSTNAME的意义。
HOSTNAME是文档和服务器所在的Internet主机名或IP地址。
四、程序填空题(总题数:
5,分数:
27.方法voidmoveZeroFront(inta[])的功能是将数组中的所有值为0的元素都移到数组的前端,而把非0元素放于所有0的后面。
提示:
顺序考察数组元素,当发现是非0时,就让该数留在原来位置,当发现是0时,就与前面的第一个非0数交换。
变量zero表示移动过程中遇到的0的个数。
voidmoveZeroFront(inta[]){
for(inti=0,zero=0;
1;
i++)
if(a[i]==0){
a[i]=a[zero],a[zero]=0;
2;
}
4.00)
i<a.length
zero++
28.这里给出的是一个播放幻灯片小应用程序的部分代码。
设幻灯片已由小应用程序的init()方法装入内存,并存放于myImage数组中。
currentImage为要显示的幻灯片序号。
intcurrentImage;
Image[]myImage;
publicvoidpaint(1g){
if((myImage[currentImage])!
=null)
g.2(myImage[currentImage],10,10,
myImage[currentImage].getWidth(this),
myImage[currentImage].getHeight(this),this);
Graphics
drawImage
29.类ShareData用于管理多个线程共享数据data。
一些线程要减少data,另一些线程要增加data。
由于data不可以是负值,修改data的方法对这些线程来说不仅要互斥,还要同步。
类提供一个方法modiData()供修改data的线程调用,该方法在data修改结束后,还应通知其他等待进入这个方法的线程。
classShareData{
intdata=0;
synchronizedvoidmodiData(intdelta){
if(delta+delta>=0){data+=delta;
}else{
while(data+delta<0){
try{1;
}catch(InterruptedExceptione){}
data+=delta;
2;
ShareData(intinitData){data=initData;
wait()
notify()
30.方法voidsumByLine(Stringf)的功能是为已知文件f创建缓冲式输入流,然后从文件逐行输入整数,求各行整数的和,并输出。
publicvoidsumByLine(Stringf){
FileReaderfile=newFileReader(f);
BufferedReaderin=new1(file);
intn,sum,i;
Strings;
try{
while((s=2)!
=null){
StringTokenizertokens=newStringTokenizer(s);
n=tokens.countTokens();
sum=0;
for(i=0;
i<n;
i++){
sum+=Integer.parselnt(tokens.nextToken());
/t"
+String.valueOf(sum)+"
/n"
in.close();
}catch(IOExceptionie){System.out.println("
/tI/O出错!
BufferedReader
in.readLine()
31.方法readByURL(StringurlName,JTextAreashowArea)的功能是通过已知网址创建URL对象,获得URLConnection对象,设置网络连接,然后以数据流方式读取网页内容,并在文本区showArea中显示。
publicStringreadByURL(StringurlName,JTextAreashowArea){
URLurl=newURL(urlName);
URLConnectiontc=url.1;
tc.2;
/*以下省略的代码完成的工作是:
用tc获得网络连接的InputStreamReader类对象,并将该对象转化成为缓冲式输入对象。
以后,就能按行读取网络文本数据。
*/
......
}catch(MalformedURLExceptione){e.printStackTrace();
catch(IOExceptione){e.printStackTrace();
openConnection()
connect()
五、程序分析题(总题数:
32.阅读下列程序,请写出该程序的运行结果。
classSuperClass{
publicintgetData(){return4;
classSubClassextendsSuperClass{
publicintgetData(){return5;
publicclassTest32{
publicstaticintfac(SuperClasss){
intd=s.getData();
returnd*(d+1)/2;
publicstaticvoidmain(String[]args){
超类对象调用方法fac():
+fac(newSuperClass()));
子类对象调用方法fac():
+fac(newSubClass()));
10
15
33.阅读下列程序,请写出该程序的运行结果。
publicclassTest33{
publicstaticvoidmain(Stringargs[]){
System.out.println(makeNewString("
bjZ;
));
publicstaticStringmakeNewString(StringoldStr){
Strings=newString(oldStr);
char[]repCh={"
a"
b"
c"
d"
e"
f"
g"
h"
i"
j"
k"
l"
m"
n"
o"
p"
q"
r"
s"
t"
u"
v"
w"
x"
y"
z"
};
s=s.replace(repCh[repCh.length-1],"
%"
for(inti=repCh.length-2;
1>=0;
i--){
s=s.replace(repCh[i],repCh[i+1]);
s=s.replace("
repCh[0]);
returns;
ckZ;
阅读下列程序,请回答以下问题:
importjava.awt.*;
importjavax.swing.*;
importjava.awt.event.*;
classMyFrameextendsJFrameimplementsActionListener{
JTextFieldtextF;
JTextAreatextA;
MyFrame(){
Containercon=getContentPane();
con.setLayout(newBorderLayout());
textF=newJTextField(10);
textF.addActionListener(this);
textA=newJTextArea(6,10);
setSize(240,200);
con.add(textF,"
North"
con.add(textA,"
Center"
setVisible(true);
publicvoidactionPerformed(ActionEvente){
intn,d;
if(e.getSource()==textF){
n=Integer.parseInt(textF.getText());
if(n!
=0){
for(intk=1;
k<=Math.abs(n);
k++){
d=(int)(Math.random()*1000%1000);
textA.append("
"
+d);
if(k%5==0)textA.append("
}else{textF.setText(null);
textA.setText(null);
publicclassTest34{
newMyFrame();
}(分数:
(1).在文本框中输入-18,在文本区中会显示多少行整数,各行有几个数?
在文本区中会显示3行整数,前2行各7个数,第3行4个数。
(2).在文本框中输入0,界面又会发生什么?
文本框和文本区的内容被清除。
classMyFrameextendsJFrameimplementsAdjustmentListener{
JScrollBarjs;
JLabellabel;
intsize=20;
Stringmsg;
MyFrame(Strings,intx,inty,intw,inth){
super(s);
msg=s;
js=newJScrolIBar(JScrollBar.HORIZONTAL,20,10,1,210);
js.addAdjustmentListener(this);
con.add(js,BorderLayout.NORTH);
label=newJLabel(msg);
con.add(label,BorderLayout.CENTER);
setBounds(x,y,w,h);
publicvoidadjustmentValueChanged(AdjustmentEvente){
size=e.getValue();
Fontf=newFont("
Courier"
Font.BOLD,size);
label.setFont(f);
publicclassTest35{
newMyFrame("
可调组件测试程序"
200,200,500,200);
(1).应用程序窗口中,有哪几个组件?
应用程序窗口中产生一个水平滚动条,下面是一个标签。
(2).当拖动滚动条滑块时,界面会有什么变化?
____