Java语言程序设计试题及答案(六)
Java语言程序设计想要在考试中脱颖而出也不是不行的哦。为此阳光网小编为大家推荐了Java语言程序设计测试题和答案,希望能帮到大家。
Java语言程序设计测试题
一、单项选择题(本大题共10小题,每小题1分,共10分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
1. 在编写Java applet程序时,若需要对发生事件作出响应和处理,一般需要在程序的开头写上的语句是() (1分)
A:import java.awt.*;
B:import java.applet.*;
C:import java.io.*;
D:import java.awt.event.*;
2. Java语言约定,显示屏上一个长方形区域为程序绘图区域,坐标原点(0,0)位于整个区域的() (1分)
A:中心
B:左上角
C:右上角
D:自由设定
3. 在Java程序中定义一个类,类中有一个没有访问权限修饰的方法,则此方法() (1分)
A:访问权限默认为是public
B:访问权限默认为是private
C:访问权限默认为是protected
D:以上都不是
4. 在Java 中,能实现多重继承效果的方式是() (1分)
A:内部类
B:适配器
C:接口
D:同步
5. 在Java语言中,密码框组件和设置密码框的回显字符为“*”的方法分别是() (1分)
A:JPassWordField和setEchoChar(?*?)
B:JPasswordField和setEchoChar(?*?)
C:JPassWordField和setEchochar(?*?)
D:JPasswordField和setEchochar(?*?)
6. 使用数据库的SQL命令实现数据库的更新,应利用Statement对象的方法() (1分)
A:update()
B:insert()
C:executeUpdate()
D:delete()
7. 以下程序代码的输出结果是()
short i=10,j,k=20;
j=k+i++;
System.out.print(j); (1分)
A:30
B:31
C:出错
D:11
8. 在Java语言中,移去按钮对象监视器的方法是() (1分)
A:removeListener(ActionListener e)
B:setRemoveEnable(ActionListener e)
C:removeActionListener(ActionListener e)
D:addActionListener(ActionListener e)
9. 下列有关事件监视器的说法正确的是() (1分)
A:一个组件上不可以注册多个事件监视器
B:一个事件监视器可以被注册到多个组件上
C:一个组件上注册多个事件监视器会发生冲突,不会起作用
D:一个组件上注册多个事件监视器,只有最后一个事件监视器会起作用
10. 菜单的事件源是用鼠标点击某个菜单项,ActionListener,要实现的接口方法是actionPerformed(ActionEvent e),获得事件源的方法是
getSource(),处理该事件的接口是() (1分)
A:ActionListener
B:actionPerformed
C:getSource
D:ItemListener
二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。错填、不填均无分。
1. 当把Java的绘图模式设置为异或模式红色,并对同一个圆用同一个颜色绿色绘制两遍时,则此圆的绘制情况是:。 (2分)
2. 流使用结束后,关闭流并且释放与该流相关的资源,用方法。 (2分)
3. 是一种特殊的方法,这种方法的名字与它的类名相同,并且不返回结果,也不写上void关键字。 (2分)
4. Java语言提供一个Graphics2D类,这个类定义了几种方法用于添加或改变图形的状态属性,其中属性控制线条的宽度、笔形样式、线段连接方式或
短划线图案。 (2分)
5. 在已有类的基础上,扩充属性或扩充与改写某些方法,生成新的类,这个方式称为。 (2分)
6. 在Java语言,使用关键字定义临界段,能对共享对象的操作上锁。 (2分)
7. 在Java程序中,如果有package语句,则此语句必须出现在源程序文件的。 (2分)
8. 采用布局的容器中多个组件拥有同一个显示空间,某一时刻只能显示一个组件。 (2分)
9. 在Java语言中,逻辑右移运算符是。 (2分)
10. 在Java语言中,有了SQL语句对象sql后,根据“读取学生成绩表st中的所有记录并存于rs对象中”,定义rs对象的代码是。 (2分)
三、程序填空题(本大题共5小题,每空2分,共20分)
1. 以下程序使字符串“文字的特殊输出效果演示”中的所有文字每隔300毫秒显示一个。
public class Class3101
{
public static void main(String[] args)
{
String s="文字的特殊输出效果演示";
for(int i=0;i
{
System.out.print(s.substring(i,i+1));
try{;}
catch(){}
}
}
} (2分)
2. 下面小应用程序通过快速显示一组图片(1.jpg~9.jpg)造成显示动画的效果。
import java.awt.*;
import java.applet.*;
public class Class3002 extends Applet implements Runnable
{
final int number=9;
int count=1;
Image[]pic=new Image[number];
Thread myThread;
public void init()
{
setSize(300,200);
for(int i=1;i<=number;i++)
pic[i-1]=;
}
public void start()
{
myThread=new Thread(this);
myThread.start();
}
public void stop(){myThread=null;}
public void run()
{
while(true)
{
repaint();
count=(count+1)%number;
try{myThread.sleep(1000);}
catch(InterruptedException e){}
}
}
public void paint(Graphics g)
{
if(pic[count]!=null)
g.(pic[count],10,10,200,200,this);
}
} (2分)
3. 下面的程序在屏幕上显示一个红色窗口,窗口的左上角坐标为(100,200),宽为300像素,高为400像素。
import java.awt.*;
import javax.swing.*;
public class Class2803
{
public static void main(String[] args)
{
JFrame myWin=new JFrame("Class2803");
myWin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭窗口时,整个应用程序关闭。若省略,关闭窗口时程序不终止,相当于setVisible
(false)
myWin.;
Container con=myWin.getContentPane();
con.setBackground(Color.red);
myWin.;
}
} (2分)
4. 程序运行结果如下图:上边,左边和右边是三个按钮,下边是一个内容为“Class2804”的文本框txt。
import java.awt.*;
import javax.swing.*;
public class Class2804
{
public static void main(String[] args)
{
JFrame myWin=new JFrame("Class2804");
myWin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
myWin.setBounds(100,200,300,200);
Container con=myWin.getContentPane();
con.setBackground(Color.red);
con.setLayout(new BorderLayout());
JButton button1=new JButton("左边");
JButton button2=new JButton("右边");
JButton button3=new JButton("上边");
con.add(button1,"West");
con.add(button2,"East");
con.add(button3,"North");
myWin.setVisible(true);
}
} (2分)
5. 下面程序运行后显示一个窗口,在窗口中有一个按钮和一个标签,单击按钮,标签中显示按钮被单击的次数,请完成程序。
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
class myFrame extends JFrame implements ActionListener
{
JButton button;
JLabel label;
myFrame(String s)
{
super(s);
Container con=;
setLayout(new FlowLayout());
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(300,400);
button=new JButton("OK");
label=new JLabel("0");
con.add(button); con.add(label);
button.addActionListener(this);
setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
int n=;
n++;
label.setText(""+n);
}
}
public class C2801
{
public static void main(String[] args)
{
new myFrame("我的窗口");
}
} (2分)
四、程序分析题(本大题共5小题,每小题4分,共20分)
1. 阅读下列程序,画出程序运行后初始界面并写出程序功能。
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class Class3603 extends Applet implements ActionListener
{
AudioClip clip;
Button buttonPlay,buttonLoop,buttonStop;
public void init()
{
clip=getAudioClip(getCodeBase(),"windowsXP关机.wav");
buttonPlay=new Button("start");
buttonLoop=new Button("loop");
buttonStop=new Button("stop");
buttonPlay.addActionListener(this);
buttonStop.addActionListener(this);
buttonLoop.addActionListener(this);
setSize(300,100);
add(buttonPlay);add(buttonLoop);add(buttonStop);
}
public void stop()
{
clip.stop();
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==buttonPlay){clip.play();}
else if(e.getSource()==buttonLoop){clip.loop();}
if(e.getSource()==buttonStop){clip.stop();}
}
} (4分)
2. 阅读下列程序,写出程序功能。
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class C3601 extends Applet implements ActionListener
{
AudioClip clip;
Button buttonPlay,buttonLoop,buttonStop;
public void init()
{
clip=getAudioClip(getCodeBase(),"1.wav");
buttonPlay=new Button("start");
buttonLoop=new Button("loop");
buttonStop=new Button("stop");
buttonPlay.addActionListener(this);
buttonStop.addActionListener(this);
buttonLoop.addActionListener(this);
setSize(300,100);
add(buttonPlay);add(buttonLoop);add(buttonStop);
}
public void stop()
{
clip.stop();
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==buttonPlay){clip.play();}
else if(e.getSource()==buttonLoop){clip.loop();}
if(e.getSource()==buttonStop){clip.stop();}
}
} (4分)
3. 阅读下列程序,写出程序运行结果。
public class C3302
{
public static void main(String[] args)
{
int [][]a={{1,2,3},{4,5,6}};
System.out.println(a.length+","+a[0].length+","+a[1][1]);
String[]s={"a","b"};
f3302(s[0],s[1]);
System.out.println(s[0]+","+s[1]);
String s1="abc",s2="123";
s1+="xyz";
s2.concat("xyz");
System.out.println(s1+","+s2);
}
static void f3302(String x,String y)
{
String z=x;x=y;y=z;
}
} (4分)
4. 阅读下列程序,写出程序运行结果。
import java.awt.event.*;
import javax.swing.*;
public class C3502 implements MouseMotionListener
{
JTextField text=new JTextField(30);
C3502()
{
JFrame myWin=new JFrame("Ex0611");
myWin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
myWin.setBounds(100,100,300,100);
myWin.getContentPane().add(text,"North");
myWin.addMouseMotionListener(this);
myWin.setVisible(true);
}
public void mouseDragged(MouseEvent e)
{
int x=e.getX(),y=e.getY();
text.setText("拖动鼠标,鼠标坐标为:"+x+","+y);
}
public void mouseMoved(MouseEvent e)
{
int x=e.getX(),y=e.getY();
text.setText("移动鼠标,鼠标坐标为:"+x+","+y);
}
public static void main(String[] args)
{
new C3502();
}
} (4分)
5. 阅读下列程序,写出程序功能。
import java.applet.*;
import java.awt.*;
public class C3602 extends Applet implements Runnable
{
Thread myThread=null;
public void start()
{
setSize(300,200);
if(myThread==null)myThread=new Thread(this);
myThread.start();
}
public void run()
{
while(true)
{
try{myThread.sleep(500);}
catch(InterruptedException e){}
repaint();
}
}
public void paint(Graphics g)
{
double i=Math.random();
if(i<0.33)g.setColor(Color.yellow);
else if(i<0.66) g.setColor(Color.red);
else g.setColor(Color.blue);
int x=(int)(100*i);
g.fillOval(x,x,x,x);
}
} (4分)
五、程序设计题(本大题共2小题,每小题6分,共12分)
1. 设计一个应用程序窗口如下图所示,单击“加”或“减”按钮,将前两个文本框中的整数相加或相减后放入第三个文本框中。已给出部
分代码,请完成程序。
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Class3801 implements ActionListener
{
JTextField text1,text2,text3;
JButton addButton,subButton;
public static void main(String[] args)
{
new Class3801();
}
public Class3801()
{
text1=new JTextField(10);
text2=new JTextField(10);
text3=new JTextField(10);
addButton=new JButton("加");
subButton=new JButton("减");
JFrame myWin=new JFrame("Class3801");
Container con=myWin.getContentPane();
myWin.setSize(300,80);
con.setLayout(new GridLayout(1,5));
con.add(text1);con.add(text2);
con.add(addButton);con.add(subButton);
con.add(text3);
addButton.addActionListener(this);
subButton.addActionListener(this);
myWin.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
//这里是你要编写的代码
}
} (6分)
2. 创建一个有文本框和三个按钮的程序。当按下某个按钮时,使不同的文字("Java","编程","不难学")显示在文本框中。已经给出部分代码,请
完成事件处理部分。
import javax.swing.*;
import java.awt.event.*;
class MiYa1 extends JPanel
{
JButton button[]=new JButton[3];
JTextField text;
MiYa1()
{
for(int i=0;i<3;i++)
{
button[i]=new JButton("button0"+(i+1));
add(button[i]);
}
text=new JTextField(10);
text.setHorizontalAlignment(JTextField.CENTER);
add(text);
}
}
public class C3801 implements ActionListener
{
JFrame myWin;
MiYa1 panel;
C3801()
{
panel=new MiYa1();
myWin=new JFrame("C3801");
myWin.add(panel);
myWin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
for(int i=0;i<3;i++)
panel.button[i].addActionListener(this);
myWin.pack();
myWin.setVisible(true);
}
public static void main(String[] args)
{
new C3801();
}
public void actionPerformed(ActionEvent e)
{
//这里是你要编写的代码
}
} (6分)
六、简答题(本大题共6小题,每小题3分,共18分)
1. 请解释drawArc(int x,int y,int w,int h,int s,int a)方法的功能及参数含义。 (3分)
2. CardLayout布局的容器可容纳多个组件,但是多个组件拥有一个显示空间。如何设置CardLayout布局及显示某一组件? (3分)
3. 请写出RandomAccessFile类中read(byte b[],int s,int n)方法的功能及参数含义。 (3分)
4. 要求创建一个URL对象url,使得url能够访问资源,请写出一条语句。 (3分)
5. 下列类的定义中有哪些错误?写出错误原因或者进行改正。
class C2202
{
int x;
C2202(int x){this.x=x;}
C2202(){C2202(10);}
int f()
{
int a=1;
x=a;
}
void g()
{
int y;
y=a+x;
}
} (3分)
6. 编写访问数据库的Java程序需要几个重要的类和接口,请任意写出其中的三个。 (3分)
>>>下一页更多精彩“Java语言程序设计试题参考答案”