全国2010年10月高等教育自学考试
Java 语言程序设计(一)试题
课程代码:04747
一、单项选择题(本大题共10小题,每小题1分,共10分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
1.以下是关于Java语言关键字的叙述,其中正确的是( )
A.关键字可以用来描述类的成员类型,但是不能描述普通变量
B.关键字由字母(包括英文字母、下划线字符、美元字符、文字字符)和数字组成
C.关键字不可以用作变量、方法、类或标号的标识符
D.break和main都是Java语言的关键字
2.执行以下代码,输出结果是( )
int x=5,y=7,u=9,v=6;
System.out.println(x>y ? x+2:u>v ? u-3:v+2);
A.8 B.6 C.7 D.true
3.Java语言中,只限子类或者同一包中的类的方法能访问的访问权限是( )
A.public B.private C.protected D.<无修饰>
4.设有数组定义int[][] x={{1,2},{3,4,5},{6},{}};,则x.length的值为( )
A.3 B.4 C.6 D.7
5.在以下Swing的类中,属于容器的是( )
A.JApplet B.JButton C.JTextArea D.JMenu
6.在以下供选择的方法中,属于接口MouseMotionListener的方法是( )
A.mouseReleased() B.mouseEntered() C.mouseExited() D.mouseMoved()
7.小程序要播放音频文件,可使用类( )
A.Audio B.JAudio C.AudioClip D.JAudioClip
8.以下是关于线程的叙述,正确的是( )
A.多线程的使用可以提高设备的平行工作能力,但是使系统管理变得复杂
B.同一个进程下的线程都有自己的状态、专用数据段和独立的内存资源
C.线程是能独立运行的程序
D.进程的执行效率比线程的执行效率高
9.在Java的类库中,包含实现输入/输出操作的包是( )
A.java.util B.java.io C.java.applet D.java.awt
10.在编写访问数据库的Java程序时,ResultSet对象的作用是( )
A.建立新数据库连接 B.用来表示与数据库的连接
C.在指定的连接中处理SQL语句 D.存储查询结果
二、填空题(本大题共10小题,每小题2分,共20分)
请在每小题的空格中填上正确答案。错填、不填均无分。
11.Java语言采用多种机制来保证可移植性,其中最主要的是______。
12.程序包声明的格式是______。
13.当联编推迟至运行时间实现时,该联编过程称为______。
14.使用默认字节字符对应表,将字符串转化为字节数组的方法是______。
15.在Swing中,带有滚动条的面板的类名是______。
16.组合框(JComboBox)是______的组合。
17.在某个组件中绘图,一般应该为这个组件所属的子类重写______方法。
18.多线程互斥使用______的程序段,在操作系统中称为临界段。
19.在Java语言中,文件随机访问可以利用______类实现。
20.Java程序可以用纯Java的______驱动程序,实现与数据库连接。
三、简答题(本大题共6小题,每小题3分,共18分)
21.请使用for循环语句计算S=1+的值。
22.请写出Applet类中init()方法的功能。
23.请写出空布局安置组件的两个步骤。
24.在Swing中,对话框有几种?并请写出它们的主要区别。
25.请写出用Runnable接口实现多线程的主要工作。
26.请写出用InetAddress类,获取网址为“www.edu.cn”的IP地址的Java语句。
四、程序填空题(本大题共5小题,每空2分,共20分)
27.方法boolean isPrime(int n)的功能是判断正整数n(n>1)是否为质数。
static boolean isPrime(int n) {
int i;
if(n==2)return true;
if(n%2==0)return false;
for(i=3;i*i<=n;i+=2)
if(_________) break;
if(_________) return true;
return false;
}
28.某小应用程序窗口中有一个文本框,一个8行10列的文本区以及一个按钮,点击这个按钮时,在文本框中输入的内容会追加到文本区中。
import java.applet.*; import javax.swing.*; import java,awt.event.*;
public class TextAPP extends Applet implements ActionListener {
JTextField input; JTextArea display; JButton append;
public void init() {
input = new JTextField(10);
display = new ;
append = new JButton("追加");
add(input); add(display); add(append);
input.requestFocus(); display.setLineWrap(true);
append.addActionListener(this);
}
public void actionPerformed(ActionEvent e),{
display. (input.getText() +" ");
}
}
29.某小应用程序有一个由3个单选按钮组成的颜色选择组,当选中某种颜色时,窗口的背景颜色将作相应的变化。这里给出的是窗口子类My Window的定义的框架以及其构造函数的定义。
class MyWindow extends JFrame implements {
…
MyWindow(String s) {
super(s);
Container con = this.getContentPane();
con.setLayout(new GridLayout(3,2));
this.setLocation(100, 100); this.setSize(400, 400);
panel 1 = new Panel l ();
label l = new JLabel("改变前景颜色",JLabel.CENTER);
con.add(label 1 ); con. ;
panel 1 .box 1 .addltemListener(this);
panel 1 .box 2.addItemListener(this);
panel 1 .box 3.addItemListener(this);
this. setVisible (true); this.pack();
}
…
}
30.某小应用程序的界面有两个按钮,点击“画圆”按钮,程序在窗口画一个圆,点击“画矩形”按钮,程序在窗口画一个矩形。
import java.applet.*; import java.awt.*;
import java.awt.event.*;import javax.swing.*;
public class Class l extends Applet implements ActionListener {
boolean c = false; int r = 50,a = 50, b = 50;
JButton bl, b2;
public void init(){
setSize(200, 200); setBackground(Color.blue);
b1 = new JButton("画 圆"); b2 = new JButton("画矩形");
b1.addActionListener(this); b2.addActionListener(this);
add(b1); add(b2); setVisible(true);
}
public void (Graphics g){
g.clearRect(70, 100, 130, 200);
g.setColor(Color. red);
if(c) g.drawRoundRect(70, 100, r, r, r, r);
else g.drawRect(70, 100, a, b);
}
public void update(Graphics g){ paint(g); }
public void actionPerformed(ActionEvent e){
if(e.getSource()==b1) { c = true; }
else if(e.getSource()==b2){ c = false; }
;
}
}
31.某按钮的监视器方法actionPerformed()实现将文本区中的内容写入到文本文件myText.txt中。
public void actionPerformed(ActionEvent e) {
try {
int n = txtFld.getText().length();
byte buffer[]=new byte[n];
buffer=txtFid.getText().getBytes();
FileOutputStream wf=new ("myText.txt");
wf. write(buffer, 0,n);
;
}catch (IOException ioe){ txtFld.setText(ioe.toString()); }
}
}
五、程序分析题(本大题共5小题,每小题4分,共20分)
32.阅读下列程序,请写出该程序的输出结果。
public class A {
int m = 5; static int n = 3;
public static void main(String[] args) {
A obj 1 = new A(); A obj2 = new A();
objl.m *= 2; objl.n *= 4; obj2.m += 1; obj2.n += 6;
System.out.println("obj 1.m='' + obj 1.m);
System.out.println("obj 1.n=" + obj 1.n);
System.out.println("obj2.m=" + obj2.m);
System.out.println("obj2.n=" + obj2.n);
}
}
33.阅读下列程序,请写出该程序的输出结果。
class Test33 {
static int merger(int [] a, int []b, int []c){
int i = 0, j = 0, k = 0;
while(i < a.length && j < b.length) {
if(a[i] < b[j])c[k++] = a[i++]; else c[k++] = b[j++];
}
while(i < a.length) c[k++] = a[i++];
while(j < b.length) c[k++] = b[j++];
return k;
}
public static void main(String[] args) {
int a[] = {3, 6, 9}; int b[] = { 1, 2, 5};
int []c = new int[100]; int p = merger(a, b, c);
for(int k = 0; k < p; k++)
System.out.print(c[k]+ (k < p-1 ? " ":"\n"));
}
}
34.阅读下列程序,请写出该程序的功能。
import java.awt.*; import javax.swing.*;
import java.applet.*; import java.awt.event.*;
public class Class l extends Applet implements ActionListener{
JTextField Text I =new JTextField(5);
JTextField Text2=new JTextField(5);
JTextField Text3=new JTextField(5);
JLabel Label 1 =new JLabel("Please input three numbers:");
JLabel Label2=new JLabel(" ");
JButton but=new JButton("Start!");
public void init() {
setLayout(new GridLayout(6,1)); add (Label 1);
add (Textl); add (Text2); add (Text3);
add (but); add (Label2);
Label2.setFont(new Font ("Courier", 1, 20));
but.addActionListener(this);
}
public void actionPerformed(ActionEvent e) {
int a,b,c;
a=Integer.parseInt(Text 1.getText());
b=Integer.parselnt(Text2.getText());
c=Integer.parselnt(Text3.getText());
if (a + b < c || b + c < a || c + a < b) {
Label2 .setForeground (Color. red );
Label2.setFont(new Font ("Courier ", 1, 24));
Label2.setText("No.");
} else {
Label2.setForeground(Color.blue);
Label2.setFont(new Font ("Courier ", 2, 24));
Label2.setText(" Yes.");
}
}
}
35.阅读下列程序,请写出该程序的功能。
import javax.swing.*; import java.awt.*; import java.awt.event.*;
class MyScrollBar extends JScrollBar {
public MyScrollBar(int init, int len, int low, int high){
super(JScrollBar.HORIZONTAL, init, len, low, high);
}
public Dimension getPreferredSize(){
return new Dimension(125, 20);
}
}
class MyWindow extends JFrame implements AdjustmentListener{
private JTextField text;
MyWindow(String s){
super(s);
MyScrollBar tempBar = new MyScrollBar(l0, 10, 0, 255);
Container con = this.getContentPane();
con.setLayout(new GridLayout(2,1));
this.setSize(250, 100); this.setLocation(100, 100);
tempBar.addA djustmentListener(this);
text= new JTextField("移动滚动条的滑块",20);
con.add(text); con.add(tempBar); this.setVisible(true); this.pack();
}
public void adjustmentValueChanged(AdjustmentEvent e){
MyScrollBar myBar=(MyScrO11Bar)e.getAdjustable();
text.setText("选择的值是:"+myBar.getValue());
}
}
public class Test35 {
public static void main(String[] args) { new MyWindow("滚动条示意程序"); }
}
36.阅读下列程序,请写出该程序的功能。
import java util.*;
class MyThread extends Thread {
int pauseTime; String name;
public MyThread (int x, String n) { pauseTime = x; name = n; }
public void run() {
for(int i = 1;i <= 4; i++) {
try {
System.out.println(name +":" +new Date(System.currentTimeMillis()));
Thread.sleep(pauseTime);
}catch(Exception e){ }
}
}
}
public class Test36{
static public void main(String[] args) {
MyThread thread1 = new MyThread (1000,"Fast Thread"); thread 1 .start();
MyThread thread2 = new MyThread (3000,"Slow Thread"); thread2.start();
}
}
六、程序设计题(本大题共2小题,每小题6分,共12分)
37.请编写方法int countNum(String str),该方法的功能是统计已知字符串str中数字的个数。例如,countNum("A42B83C2D")的返回值是5。
38.一个小应用程序,界面如下图所示,其功能为实现摄氏温度和华氏温度的相互转换。以下是程序的大部分,请编写其中的监视器方法。
注:华氏温度(F)=摄氏温度(C)×9/5+32
import java.applet.*; import javax.swing.*;
import java.awt.event.*;
public class test38 extends Applet implements
ActionListener {
JTextField textl, text2;
JButton c2f, f2c;
public void init() {
text l = new JTextField(5); text2 = new JTextField(5);
c2f=new JButton("摄氏转换为华氏");
f2c=new JButton("华氏转换为摄氏");
add(text 1);add(text2); add(c2f);add(f2c);
text1.requestFocus();
c2f.addActionListener(this);f2c.addActionListener((this);
}
public void actionPerformed(ActionEvent e) {
//请在以下位置编写代码
}
}
下载自考试题word文档: