郑州大学自考网欢迎您!                找不到合适的文章请单击此处搜索 >>
网站首页 >> 考试真题 >> 文章内容

2014年郑州大学自考Java语言程序设计(一)复习试题

[日期:2013-11-03]   来源: www.zhengdazikao.net  郑州大学自考  作者:徐老师   阅读: 675[字体: ]
内容提要:2014年郑州大学自考Java语言程序设计(一)复习试题

 

2014郑州大学自考Java语言程序设计(一)复习试题

一、单项选择题

1.下述字符组合不能作为Java程序标识符的是(   )
A.Aa12                                                       
B.大x
C.y小                                                        
D.5x

2.以下程序代码的输出的结果是(   )
 int x=53;
 System. out. println(1.0+x/2);
A.27.0                                                        
B.27.5
C.1.026                                                      
D.1.026.5

3.参照以下Java代码,以下四个叙述中最确切的是(   )
 class A{
  int x; static int y;
  void fac(String s){Syatem. out. println("字符串:"+s);}
}
A.x、y和s都是成员变量
B.x是实例变量、y是类变量、s是局部变量
C.x和y是实例变量、s是参数
D.x、y和s都是实例变量

4.需要分析字符串,并将字符串分解成可被独立使用的单词,可使用java. util包中的类是(   )
A.String                                                     
B.StringBuffer
C.StringTokenizer                                       
D.stringTokenizer

5.要为程序的子窗口设定一个由字符串s指定的名字,可以采用的代码是(   )
A.JFrame(s)                                               
B.window(s)
C.new JFrame(s)                                        
D.super(s)

6.以下关于菜单的叙述中,正确的是(   )
A.菜单分三级定义,最高一级的是菜单条,菜单条中放菜单,菜单中放菜单项
B.菜单分三级定义,最高一级的是菜单,菜单中放菜单条,菜单条中放菜单项
C.菜单分两级定义,最高一级的是菜单,菜单中放菜单项
D.菜单分两级定义,最高一级的是菜单条,菜单条中放菜单项

7.以下所述内容全部是字型要素的是(   )
A.字体、字形和大小                                 
B.字体、风格和字号
C.字形、风格和字号                                 
D.字形、颜色和字号

8.用Thread子类实现多线程的步骤顺序是(   )
A.声明Thread类的子类,创建Thread子类的实例,让线程调用start()方法
B.声明Thread类的子类,在子类中重新定义run()方法,创建Thread子类的实例
C.创建Thread子类的实例,让线程调用start()方法
D.声明Thread类的子类,在子类中重新定义run()方法,创建Thread子类的实例,让线程调用start()方法

9.为16位Unicode字符流提供读和写操作支持的类分别是(   )
A.FileInputStream类和FileOutputStream类
B.InputStream类和OutputStream类
C.FileReader类和FileWriter类
D.File_Reader类和File_Writer类

10.能利用对象提供的方法获得流对象和实现网络连接的是(   )
A.URLConnection对象                               
B.URL对象
C.InetAddress对象                                     
D.TCP/IP对象

二、填空题
11.一个小应用程序必须定义成一个_________。
12.用条件运算符构造一个表达式:goal等于10时,表达式的值为“对了!”,否则,表达式的值为“错了!”。这个表达式是_________。
13.类是对一组相同对象的描述,类概括了同类对象的共有性质:_________。
14.设有数组a和b的定义如下:
int[]a={1,2,3};int[]b={4,5,6}
……
执行以下代码“a=b;”,除了完成赋值操作之外,引起系统额外要做的工作是_________。
15. _________布局使容器的多个组件拥有同一个显示空间,某一时刻只能显示一个组件。
16.Java语言为处理鼠标事件提供两个接口:_________接口和MouseMotionListener接口。
17.某个绘图方法设置成“异或模式”绘图,并用黄色作为异或模式设定的绘图颜色。如果当时背景色为红色,并用红色绘制线段,则线段的实际颜色是_________。
18.程序员用Java语言编写多线程应用程序,程序员能控制的关键性工作有两个方面:一是编写线程的_________方法;二是建立线程实例。
19.BufferedWriter类是提供缓冲式输出的类。程序需要先创建_________对象,再利用这个对象创建BufferedWriter对象。
20.在Java语言中,客户端使用的套接字类是_________。

三、简答题21.请写出表示条件“x=2与y=3有且只有一个成立”的Java表达式”。
22.如果类Student是类Person的子类,类Undergraduate是类Student的子类,请指出以下代码行中哪些是不合法的。
Person p1=new Student();
Person p2=new Undergraduate();
Student s1=new Person();
Student s2=new Undergraduate();
Undergraduate ug1=new Person();
Undergraduate ug2=new Student();
Object ob=new Student();
23.请写出程序处理文本框输入结束事件(回车)添加监视器的方法,以及监视器类必须实现的接口方法。
24.请写出一条语句,能够绘制一条从点(20,30)开始,长为100像素的水平线段。设调用的对象是类型为Graphics的g。
25.某Java程序要使用文件输入输出流,请写出该程序所需要的import语句。
26.JDBC是Java程序与数据库连接的API,请写出JDBC能做的三件事情。

 
自试Java语言程序设计(一)试题

一、单项选择题(本大题共10小题,每小题1分,共l0分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
1.下面供选字符序列中,不属于Java语言关键字的是( )
A.inner B.throw
C.false D.throws
2.表达式“-1>>>1”的十进制值是( )
A.-2 B.231-1
C.-(231-1) D.232-1
3.Java语言中,在类定义时用final关键字修饰,是指这个类( )
A.子类必须实现父类未实现的方法 B.没有具体实现代码
C.必须要有实例 D.不能被继承
4.表达式  "java程序设计".1ength() 的值是( )
A. 0 B.12
C. 8 D.13
5.以下关于BorderLayout布局的叙述中,不正确的是( )
A.把容器内的空间划分成5个区域 B.加入组件应该指明要放入的区域
C.是框架窗口的默认布局 D.一个位置可直接放多个组件
6.利用文件对话框打开或保存文件,在打开文件对话框之前,可用FileFilter类设置筛选条件,其所用的两个方法是( )
A.accept()和getSelectedFile() B.accept()和getDescription()
C.accept()和setDescription() D.setDescription()和getDescription()
7.设已经有Graphics2D对象g2d,RoundRectangle2D对象rRect,绘制对象rRect的代码是( )
A.g2d.draw(rRect) B.g2d.drawRoundRect(rRect)
C.rRect.draw() D.rRect.drawRoundRect()
8.以下关于线程互斥和同步的叙述中,正确的是( )
A.临界段是线程互斥使用资源的程序段 B.临界段能使线程使用其它线程的资源
C.互斥和同步能很好地解决死锁问题 D.可用notify()方法让等待线程结束等待
9.在编写访问数据库的Java程序时,Connection对象的作用是( )
A.存储查询结果 B.在指定的连接中处理SQL语句
C.用来表示与数据库的连接 D.用来创建数据库的连接
10.获取InetAddress对象的域名所用到的方法是( )
A.getHostName() B.getLocalName()
C.getHostAddress() D.getLocalHost() 

二、填空题(本大题共10小题,每空2分,共20分)
请在每小题的空格中填上正确答案。错填、不填均无分。
11.能在浏览器上执行的Java程序被称为____________。
12.如果子类A隐藏了超类B的成员变量x,而类A的某个方法f()要引用类B的x,则引用类B的x的引用代码可以写成____________。
13.接口有与类相似的基本形式,它有常量定义和方法定义,但没有____________。
14.设u和v是类A的两个对象,则逻辑表达式“u==v”的意义是____________。
15.要获得对象的字符串表示,调用的方法是____________。
16.注册鼠标点击事件监视器的方法是____________。
17.在异或模式下绘图时,实际绘制的颜色是由当前正要绘制的颜色、原先绘制的颜色,以及____________作特定的运算确定的。
18.多线程程序设计中,让执行临界段程序时等待的线程结束等待,通常使用的方法有resume()、notify()或者____________。
19.创建的流既可以随机输出,也可以随机输入的类是____________。
20.Java程序中使用套接字方法实现C/S模式时,在Client端支持网络底层通讯的类是____________。

三、简答题(本大题共6小题,每小题3分,共18分)
21.请写出以下程序段的执行结果。
int c=0,d,n=3758;
while(n>0){ if((d=n%l0)>c) c=d;n/10;}
System.out.println("结果="+c);
22.什么是方法重载,如何正确区分重载?
23.请写出定义一个包含2个子数组的二维整型数组对象aArr的代码,其中第一个子数组有5个元素,第二个子数组有3个元素。
24.请写出创建一个JPanel对象p,并为对象p设定GridLayout布局的代码。
25.由于创建输出流对象时,可能会出现IOException异常,所以创建输出流对象的代码必须出现在try-catch语句结构中。请写出为当前目录下的myFile.dat文件创建缓冲输出流对象outs的代码。
26.请写出已知数据库url、用户名uName和密码pWord,通过驱动程序管理器(DriverManager)的方法getConnection()建立连接con的代码,可能产生的异常是SQLException。
四、程序填空题(本大题共5小题,每空2分,共20分)
在每小题的空格中填上正确答案,完全代码,使它能正确实现题意的功能。错填、不填均无分。
27.方法int tenDigNumlnArray(int []a,int d)的功能是统计数组中十位数是d的整数的个数。
提示:对于一个整数n,运算n/10的作用是求得去掉n的个位数后的整数,运算n%10的作用是求得n的个位数。
static int tenDigNumlnArray(int []a,int d){
int c=0;
for(int i=0;__________;i++){
if(__________)c++;
}
return c;
}
28.某小应用程序的类实现了接口ActionListener,在其窗口有一个文本区对象text和一个标上文字“输入一个整数”的按钮对象,并正确为该按钮对象注册了监视器。按钮处理程序要实现的功能是当点击这个按钮时,程序弹出一个输入信息的对话框,输入一个整数n,程序接受n后,将2至n的所有偶数输出在文本区text中。以下是其中处理按钮事件的方法。
public void actionPerformed(ActionEvent e){
if(e.____________.equals("输入一个整数")){
String res=(String) JOptionPane.showInputDialog(null, "输入一个正整数",
"输入对话框",JOptionPane.PLAIN_MESSAGE,null,null,null);
n=Integer.parseInt(res);
text.setText("");.
for(int k=2;k <= n;k+=2)
text._____________;
}
}
29.一个示意选择框选择的类CheckBoxWin,类的构造方法根据给定的选择项目表构造一组选择框,这组选择框允许多选,当这组选择框中的某个选择项的选择状态有改变(从选中变成未选中,或从未选中变成选中)时,选择框的监视程序在一个文本区中输出那个状态有改变的选择项目。以下是类CheckBoxWin的定义。
class CheckBoxWin extends JFrame implements ItemListener{
JPanel p=new JPanel();
JTextArea text;
String[]nameList;
JCheckBox boxArray[];
CheckB oxWin(String[]sp){
Container con=getContentPane();
con.setBackground(Color.BLUE);
con.setLayout(new FlowLayout());
p.setSize(90,(sp.1ength)*20);
p.setLayout(new GridLayout(sp.1ength,1));
nameList=sp;
boxArray=new JCheckB ox[sp.1ength];
for(int i=0;i<nameList.1ength;i++){
JCheckBox box=new JCheckBox(sp[i]);
box._________________;
p.add(box);
boxArray[i]=box;
}
con.add(p);
text=new JTextArea(3,13);
text.setText("");
JScrollPane jsp=new JScrollPane(text);
jsp.setSize(100,60);
con.add(jsp);
setSize(100,(sp.1ength)*20+120);
setLocation(100,100);
setVisible(true);
}
public void itemStateChanged(ItemEvent e){
for(int i=0;i<nameList.1ength;i++){
if(e.getItemSelectable()==_______________________ ){
if(boxArray[i].isSelected())
text.append(nameList[i]+".从未选中变成被选中\n");
else
text.append(nameList[i]+":从选中变成未被选中\n");
return;
}
}
}
}
30.以下是一个JPanel的子类的paintComponent方法,该方法利用Graphics2D绘制一个正方形,正方形的位置、边长和颜色分别存于该类的成员变量lTop、edge和c中。
int edge; Point 1Top; Color c;
public void paintComponent(Graphics g){
Graphics2D g2=(Graphics2D)g;
g2.setColor(c);
Rectangle2D rec=new Rectangle2D.____________(1Top.x,lTop.y,edge,edge);
_____________;
}
31.以下小应用程序的界面有一个文本区,文本区同时作为发生键盘事件的事件源,并对键盘事件实施监视。程序运行时,先点击文本区,让它激活,以便能响应键盘事件。以后输入英文字母时,在文本区中顺序显示输入的字母。
import java.applet.*;import javax.swing.*;
import java.awt.*;import java.awt.event.*;
public class Test31 extends Applet implements____________{
JTextArea text=new JTextArea(5,10);
public void init(){setSize(200,200);
__________________________;
text.setBackground(Color.gray); add(text);
}
public void keyPressed(KeyEvent e){}
public void keyReleased(KeyEvent e){}
public void keyTyped(KeyEvent e){
int t=e.getKeyCode();
if(t>=KeyEvent.VK_A&&t<=KeyEvent.VK_Z){
text.append(""+(char)t);
}
}
}             
五、程序分析题(本大题共5小题,每小题4分,共20分)
32.阅读下列程序,请写出该程序的功能。
public class Test32
{ public static void main(String args[])
{ double sum=0.0;
For (int i=1; i<=500;i++)
sum+=1.0/(double)i;
System.out.println( "sum="+sum);
}
}
33.阅读下列程序,请回答以下问题:
(1)界面中有哪些组件?
(2)点击每一个按钮分别会显示什么内容?
import java.applet.*; import java.awt.*;
import java.awt,event.*;import javax.swing.*;
public class Test33 extends Applet implements ActionListener{
String msg="";
String buttonCom[]={"Yes","No","Undecided"};
JButton bList[]=new JButton[buttonCom.length];
JTeXtField t;
public void init(){
setLayout(new GridLayout(4,1));
for(int i=0;i<buttonCom.1ength;i++){
bList[i]=new JButton("按钮"+(i+1));
add(bList[i]);
bList[i].addActionListener(this);
}
t=new JTeXtField();
add(t);
}
public void actionPerformed(ActionEvent e){
for(int i=0;i<3;i++){
if(e.getSource()一bList[i]){
t.setTeXt("You pressed"+buttonCom[i]);
break;
}
}
}
}
34.阅读下列程序,请写出该程序的功能。
import java.io.*; import java.awt.*; import javax.swing.*;
import java.awt.event.*;
class MyWindow extends JFrame implements ActionListener{
JTextArea text;BufieredReader in;JTextField fileName;
FileReader file;
MyWindow(){
Contaiher con=this.getContentPane();//获得内容面板
con.setLayout(new BorderLayout());
fileName=new JTextField("输入文件名");
fileName.addActionListener(this);
text=new JTextArea(20,30);
JScrollPane jsp:new JScrollPane(text);
con.add(jsp,BorderLayout.CENTER);
con.add(fileName,"South");setVisible(true);
}
public void actionPerformed(ActionEvent e)
{ String s;
try{File f=new File(fileName.getText());
file=new FileReader(f);
in=new BufferedReader(file);
} catch(FileNotFoundException el){}
try{ while((s=in.readLine())!=null)
text.append(s+'\n');
}catch(IOException exp){}
}
}
public class Test34{
public static void main(String args[ ]) {new MyWindow();}
}
35.阅读下列程序,请回答以下问题:
(1)该程序中的类MyPanel的成员变量twoClick的作用是什么,该成员变量的值是如何改变的?
(2)程序运行时,用户在界面的不同位置,用鼠标点击两次,界面中会出现什么?
import java.awt.*;import javax.swing.*;import java.awt.event.*;
class MyPanel extends JPanel implements MouseListener{
int leftx,lefly,rightx,righty;
boolean twoClick;
MyPanel() {
twoClick=false;addMouseListener(this);
}
public void mousePressed(MouseEvent e){
if(!twoClick){
leftx=e.getX();lefty=e.getY();
}else{
rightx=e.getX();righty=e.getY();repaint();
}
twoClick=!twoClick:
}
public void mouseClicked(MouseEvent e){}
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}
public void mouseReleased(MouseEvent e){}
public void paintComponent(Graphics g){
g.clearRect(0,0,this.getWidth(),this.getHeight());
g.fillRect(1efix,lefty,Math.abs(rightx-leftx),
Math.abs(righty-lefty));
}
}
class MyWin extends JFrame{
MyPanel p=new MyPanel();
MyWin(){
getContentPane().add(p);
setSize(400,400);setLocation(100,100);setVisible(true);
}
}
public class Test35 extends JFrame{
public static void main(String[]args){new MyWin();}
}
36.阅读下列程序,请回答以下问题:
(1)程序执行时创建的线程个数。
(2)各线程的名称。
(3)举例给出程序可能的输出结果。
class SeltManaged extends Thread{
int countDown;
public SelfManaged(String name,int c){
countDown=c;
setName(name);start();
}
public void run(){
while(true){
System.out.println(getName()+" ("+countDown+")");
try{
sleep(50);
}catch(InterruptedException e){};
if(--countDown== 0)
return;
}
}
}
public class Test36{
public static void main(String[]args){
for(int i=0;i<2;i++)
new SelfManaged("线程"+String.valueOf(i),2);
}
}
六、程序设计题(本大题共2小题,每小题6分,共12分)
37.编写方法int[] delete(int []a,int d),方法将创建一个新数组b,新数组b中只包含原数组中所有值不等于d的元素,并返回该新数组b。
38.以下程序的界面有一个按钮ave、一个文本区text和一个标签label。程序运行时,在文本区中输入数字序列,单击ave按钮,则在标签label中显示这个数字序列中正实数的平均值。
注:这里是给定程序的部分代码,你要编写的是actionPerformed(ActionEvent e)方法。
import javax.swing.*;………
class Ave extends JFrame implements ActionListener{
JLabel label 1,label; JTextArea text; JButton ave;
Ave() {
Container con=getContentPane();
con.setLayout(new GridLayout(2,2));
labell=new JLabel("输入整数序列");
text=new JTextArea(5,10);
ave=new JButton("求正实数平均值");
label=new JLabel();
con.add(1abel 1);con.add(text);con.add(ave);
ave.addActionListener(this);
con.add(1abel);
………
}
public void actionPerformed(ActionEvent e){
∥请在以下位置编写代码

 

 

 

}
}
class Test38{
public static void main(String args[]){new Ave(); }
}


自试Java语言程序设计(一)试题

一、单项选择题
1.在下述字符串中,不属于Java语言关键字的是 ( )
A.float
B.new
C.java
D.return

2.Java语言中数值数据的类型能自动转换,按照从左到右的转换次序为 ( )
A. byte→int→short→long→float→double
B. byte→short→int→long→float→double
C. byte→short→int→float→long→double
D. short→byte→int→long→float→double

3.在以下供选择的概念中,不属于面向对象语言概念的是 ( )
A.消息
B.模块
C.继承
D.多态性

4.在下述Java语言语句中,错误的创建数组的方法是 ( )
A.int intArray [ ]; intArray=new int[5];
B.int intArray [ ]=new int[5];
C.int [ ] intArray ={1,2,3,4,5};
D.int intArray [5]={1,2,3,4.5};

5.在Swing中,它的子类能用来创建框架窗口的类是 ( )
A.JWindow
B.JFrame
C.JDialog
D.JApplet

6.MouseListener接口不能处理的鼠标事件是 ( )
A.按下鼠标左键
B.点击鼠标右键
C.鼠标进入
D.鼠标移动

7.以下不属于文字字型要素的是 ( )
A.颜色
B.字体
C.风格
D.字号

8.在以下四个供选的整数中,能作为线程最高优先级的整数是 ( )
A.0
B.1
C.10
D.11

9.Java语言可以用javax.swing包中的类JFileChooser来实现打开和保存文件对话框。用户通过文件对话框不可能获得的信息是 ( )
A.文件名称
B.文件路径
C.文件内容
D.文件对象

10.在编写访问数据库的Java程序时,Connection对象的作用是 ( )
A.用来表示与数据库的连接
B.存储查询结果
C.在指定的连接中处理SQL语句
D.建立新数据库连接

二、填空题
11.Java的编译程序先将Java源程序翻译成与机器无关的__________。
12.表达式¨23 & 18’’的值是__________。
13.如果类A某个成员变量的类型是类B,则类A和类B之间是__________关系。
14.Java语言提供了两个用于处理字符串的类,它们是__________。
15.某程序用代码“JTextField text=new JTextField();”创建了一个文本框,并对这个文本框注册了监视器,则在监视器处理方法actionPerformed(ActionEvent e)中,判定是在这个文本框上发生事件的条件表达式是__________。
16.一个水平滚动条对象的初始值是50,滑块的宽是10个像素,表示的范围是[0,250]。 创建这样的滚动条对象时,提供的5个参数依次是__________。
17.要在JComponent 子类的组件中绘图,应重写__________方法。
18.当线程使用完临界段后,为了使等待的线程恢复工作,需要调用的方法是__________。
19.某程序想为一个long型整数文件构造随机读写对象,支持这个要求的类是__________。
20.设已知服务器的IP地址和端口号,要创建一个套接字对象,支持这个要求的类是__________。

三、简答题

21.请写出一段if语句,判断一个整数n是否为偶数。如果是偶数,输出“Yes.”;否则,输出“No.”。
22.请写出接口定义的一般形式。
23.请写出Java语言编写事件处理程序的两种主要方案。
24.设已经有Graphics2D对象g2d, 请用Java语句绘制一个矩形rect,其左上角坐标是(20,30),宽是120,高是30。
25.打开文件对话框时,还可以设置筛选条件,即指定文件的类型。请写出FileFilter类预设的两个方法。
26.请写出URLConnection类提供的三个常用方法。

四、程序填空题

27.方法void moveOddForword(int a[ ])的功能是将数组中的所有奇数移到所有偶数之前。
void moveOddForword(int a[]){
for(int i=0, odd=0;________;i++)
if(________){
int t=a[i];a[i]=a[odd];a[odd]=t;odd++;
}
}
28.以下程序创建了一个窗口,然后在窗口内显示″Hello,World! ″。
import javax.swing.*; import java.awt*;
public class HelloWorld {
public static void main(String[ ]ares) {
TextFrame frame=new TextFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame. ________;
}
}
class TextFrame extends JFrame {
public TextFrame() { .
setTitle(″HelloWorld″);
setSize(WIDTH,HEIGHT);
TextPanel panel=new TextPanel();
Container contentPane=getContentPane();
contentPane.add(panel);
}
public static final int WIDTH=300;
public static final int HEIGHT= 200;
}
class TextPanel extends JPanel {
public void paintComponent(Graphics g) {
super. ________;
g.drawString(″Hello,World! ″,x,y);
}
public int x=100; public int y=100;
}
29.以下是子窗口中设置一个菜单条类的定义。类的构造方法根据指定的窗口名称和菜单表设置菜单条,菜单和菜单项,当选中某个菜单项时,在文本框中显示相应菜单项被选中的信息。
class MenuWindow extends JFrame implements ActionListener {
public static JTextField text;
public MenuWindow(String s,String menuList[][]) {
setTitle(s);
Container con=this.getContentPane();
con.setLayout(new BorderLayout());
this.setLocation(100,100); this.setSize(300,100);
JMenuBar menubar=new JMenuBar();
for(int i=0; i<menuList.length;i++) {
JMenu menu=new JMenu(menuList[i][0]);
for(int j=1;j<menuList[i].1ength;j++){
JMenultem anltem=new JMenultem(menuList[i][j]);
anltem.setActionCommand(menuList[i][j]);
anltem.________;menu.add(anltem);
}
menubar.__________;
}
text=new JTextField();setJMenuBar(menubar);
con.add(text,BorderLayout.SOUTH);
}
public void actionPerformed(ActionEvent e){
text.setText(e.getActionCommand()+″菜单项被选中! ″);
}
}
public class Test29 extends Applet {
MenuWindow window;
String menuList[][]={{″体育″,″跑步″,″打蓝球″,″打乒乓″},
{″娱乐″,″唱歌″,″跳舞″}};
public void init() {
window=new MenuWindow(″体育娱乐之窗″,menuList);
window.setVisible(true);
}
}
30.以下是一个用鼠标自由作画的小应用程序。最简单的方法是根据鼠标所在位置画点,跟随鼠标的移动,不断画圆点,就能实现用鼠标作画。
import java.awt.*;
import java.awt.event.*;
public class Test30 extends java.applet.Applet implements MouseMotionListener {
Color color;int lineSize=2:
int x=-1,y=-l;
public void init(){
setLocation(30,20); setSize(300,300);
setBackground(Color.green);addMouseMotionListener(this);
}
public void paint(Graphics g){
if(x!=-1&&y!=-1) {
g.setColor(color);g.fillOval(x,y,1ineSize,lineSize);
}
}
public void mouseMoved(MouseEvent e){}
public void mouseDragged(MouseEvent e){
x=e.getX();y=e.getY();_________;
}
public void ________ (Graphics g){ paint(g);}
}
31.以下定义的类ShareData用于管理多个线程共享数据data。一个线程生成data,另一个线程使用data。约定,新生成的data只有被另一个线程使用后,才能生成下一个data。反之,一个data被使用后,也不能再继续使用。所以,生成和使用data的线程之间需要互斥和同步。以下是管理上述使用方式的类,类内有要管理的共享数据,以及对共享数据的存操作putData()和取操作getData()。
class ShareData{
int data;∥共享数据
boolean newData=false;∥有最近新生成data的标志
synchronized int getData(){
while(!newData){
try{ _________;
} catch(InterruptedExceptipn e){
System.out.println(″因错误,而中断!″);
}
}
newData=false; notify();return data;
}
synchronized void putData(int n){
while(newData){
try{wait();
}catch(InterruptedException e){
System.out.println(″因错误,而中断! ″);
}
}
data=n; __________;
notify(); return;
}
}

五、程序分析题

32.阅读下列程序,请写出该程序的输出结果。
class Parent{
private void method 1 () { System.out.println(″Parent′s method 1()″);}
public void method 2 () { System.out.println(″Parent′s method 2()″);method 1();}
}
class Child extends Parent {
public void method l (){ System.out.println(″Child′s method 1 ()″);}
public static void main(String args[]){ Parent p = new Child();p.method2();}
}
33.阅读下列程序,请写出该程序的功能。
import java.util.*;import javax.swing.*;
public class Test33{
public static void main(String args[]){
String str=(String)JOptionPane.showInputDialog(null,″请输入信息″,
″输入对话框″,JOptionPane.PLAIN_MESSAGE,null,null,null);
StringTokenizer pas=new StringTokenizer(str, ″,″);
int n=pas.countTokens();
System.out.println(″输入的信息有单词:″+n+″个,全部单词如下:″);
while(pas.hasMoreTokens()){
String s=pas.nextToken();
System.out.println(s);
}
}
)
34.阅读下列程序,请用示意图画出程序运行时呈现的界面。
import java.applet.*;import java.awt.*;import javax.swing.*;
class MyPanel extends JPanel{
JTextField textl,text2;
MyPanel(String sl,String s2) {
textl=new JTextFieId(s1); text2=new JTextField(s2);
add(text 1); add(text2);
}
}
class MySubPanel extends MyPanel {
JTextField text;
MySubPanel(String sl,String s2,String s3) {
super(s1,s2);text = new JTextField(s3);add(text);
}
}
public class Test34 {
public static void main(String args[]) {
JFrame mw=new JFrame(″一个示意窗口″);
mw.setSize(350,150);
Container con = mw.getContentPane();
con.setLayout(new BorderLayout());
MyPanel pl=new MyPanel(″文本框l″,″文本框2″);
MySubPanel p2=new MySubPanel(″文本框3″,″文本框4″,″文本框5″);
JTextArea text=new JTextArea(″这里是一个文本区″);
con.add(pl,″North″); con.add(p2,″South″);
con.add(text,″Center″);mw.setVisible(true);
}
}
35.阅读下列程序,请写出该程序的功能。
import java.applet.*:import java.awt.event.*;import javax.swing.*
public class Class 1 extends Applet implements KeyListener{
JButton button=new JButton(″开始″);
JTextArea text=new JTextArea(5,20);
public void init() {
button.addKeyListener(this); add(button);add(text);
}
public void keyPressed(KeyEvent e){
int t=e.getKeyCode();
if(t>=KeyEvent.VK_A&& t<=KeyEvent.VK_Z) {
text.append(″ ″+(char)t);
}
}
public void keyTyped(KeyEvent e){}
public void keyReleased(KeyEvent e){}
}
36.阅读下列程序,请写出该程序的功能。
import java.applet.*; import java.awt.*;
public class Test36 extends java.applet.Applet implements Runnable{
Thread myThread = null;
double seta=0.0;
public void start() {
setSize(500,400);
if(myThread=null){ myThread=new Thread(this); myThread.start();}
}
public void run() {
while(myThread!=null) {
try {myThread.sleep(40);
} catch(InterruptedException e){}
seta+=3.0; if(seta>=360)seta=0; repaint();
}
}
public void paint(Graphics g) {
final double pi=3.14159; final double r = 100.0;
int x0=250+(int)(r*Math.cos(3.1415926/180.0*seta));
int y0=200+(int)(r*Math.sin(3.1415926/180.0*seta));
g.setColor(Color.red); g.drawOval(x0,y0,10,10);
}
}

六、程序设计题
37.请编写方法void strReverse(String str),该方法的功能是输出一个新字符串,新字符串字符排列顺序与原字符串str的字符排列顺序相反。例如,strReverse(″ABCD″) 所输出的结果是″DCBA″。请使用字符串与字节数组的相互转换方法进行设计。
38.请设计实现如下用于输入学号和姓名的对话框界面,其中空白格是文本框,用于输入相应的内容。
 
这里给出的是程序的一部分,你要编写的是类InputNoNameDialog的构造方法InputNoNameDialog(JFrame f,String s,JTextField t)。其中参数f是对话框的依赖窗口,s是对话框标题,t是依赖窗口中显示对话框输入内容的文本框。
以下是类InputNoNameDialog的程序框架。
class InputNoNameDialog extends JDialog implements ActionListener{
JLabel title;JTextField textl,text2,mainText;JButton done;
InputNoNameDialog(JFrame f String s,JTextField t) {
super(f,s,true); mainText = t;Container con = getContentPane();
title=new JLabel(s); textl=new JTextField(10);
text2=new JTextField(10); con.setLayout(new GridLayout(3,2));
con.setSize(200,100); setModal(false);
//请在以下位置续写其余代码
}
public void actionPerformed(ActionEvent e) {
//输入结束按确定按钮后,将对话框中输入的学号和姓名在它依赖窗口的文本框中显示。
mainText.setText(″学号:″+textl.getText()+″ 姓名:″+text2.getText());
setVisible(false);dispose();

 

报名方式
1.直接来我处咨询、报名。报名时请携带身份证及正反面复印件2张、2寸蓝底彩照4张 。 (毕业生应交毕业证复印件)
2.学生选择网上或电话报名,学员可以电话、QQ、电子邮件报名或者索取招生简章,在指定时间内来校报到入学。
3.业余学生准备好个人资料和第一年学费,直接到校报名。
4.咨询电话: 0371 - 56756528 18939255817 徐老师 李老师 5.咨询QQ: 点击这里给我发消息 点击这里给我发消息

版权声明: 本站所有文字、图片、音视频、美术设计和程序等作品,版权均属自考司或相关权利人专属所有或持有所有。未经本网书面授权,不得进行一切形式的下载、转载或建立镜像。否则以侵权论,依法追究相关法律责任。