求一些JAVA数据结构的试题及答案解析

求一些JAVA数据结构的试题及答案解析,第1张

1 下列数据结构中,能用二分法进行查找的是__A____。

A、顺序存储的有序线性表 B、线性链表 C、二叉链表 D、有序线性链表 解析:二分法查找只适用于顺序存储的有序表。在此所说的有序表是指线性表中的元素按值非递减排列(即从小到大,但允许相邻元素值相等)。 2 在软件设计中,不属于过程设计工具的是__D____。 A、PDL(过程设计语言) B、PAD图 C、N-S图 D、DFD图 解析:软件设计工具包括:程序流程图、N-S、PAD、HIPO,判定表,PDL(伪码)。而DFD(数据流图)属于结构化分析工具。

3 在switch(expression)语句中,expression的数据类型不能是__A____。 A、double B、char C、byte D、short

解析:表达式expression只能返回这个几种类型的值:int、byte、short和char。多分支语句把表达式返回的值依次与每个case子句中的值相比较,如果遇到匹配的值,则执行该case子句后的语句序列。

4 下列叙述中,错误的是__D____。

A、父类不能替代子类 B、子类能够替代父类 C、子类继承父类 D、父类包含子类 5 通过继承实现代码复用:

Java中所有的类都是通过直接或间接地继承java.lang.Object类得到的。继承而得到的类称为子类,被继承的类称为父类。子类不能继承父类中访问权限为private的成员变量和方法,子类可以重写父类的方法,及命名与父类同名的成员变量。 子类通过隐藏父类的成员变量和重写父类的方法,把父类的状态和行为改变为自身的状态和行为。注意:子类中重写的方法和父类中被重写的方法要具有相同的名字,相同的参数表和相同的返回类型,只是函数体不同。

由于子类继承了父类所有的属性(私有的除外),所以子类对象可以作为父类对象使用。程序中凡是使用父类对象的地方,都可以用子类对象来代替。一个对象可以通过引用子类的实例来调用子类的方法。

java运行时系统根据调用该方法的实例,来决定调用哪个方法。对子类的一个实例,如果子类重写了父类的方法,则运行时系统调用子类的方法如果子类继承了父类的方法(未重写),则运行时系统调用父类的方法。

6 自定义表格类中的model部分应实现的接口是___A___。

A、AbstractTableModel B、JTable C、TableModel D、TableModelable 7 下列代码中,将引起编译错误的行是__B____。 1)public class Exercise{

2) public static void main(String args[]){ 3) float f=0.0 4) f+=1.0 5) } 6) }

A、第2行 B、第3行 C、第4行 D、第6行

解析:float定义变量赋值时,需要在数值后面加f以标识它为浮点型,让系统知道该给它精确到多少位。

2011年3月计算机等级考试二级VFP笔试:

一、选择题

(1)下列关于栈叙述正确的是

A) 栈顶元素最先能被删除

B)栈顶元素最后才能被删除

C)栈底元素永远不能被删除

D)以上三种说法都不对

(2)下列叙述中正确的是

A)有一个以上根结点的数据结构不一定是非线性结构

B)只有一个根结点的数据结构不一定是线性结构

C)循环链表是非线性结构

D)双向链表是非线性结构

(3)某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)

A)3

B)4

C)6

D)7

(4)在软件开发中,需求分析阶段产生的主要文档是

A)软件集成测试计划

B)软件详细设计说明书

C) 用户手册

D)软件需求规格说明书

(5)结构化程序所要求的基本结构不包括

A)顺序结构

B)GOTO跳转

C)选择(分支)结构

D)重复(循环)结构

(6)下面描述中错误的是

A) 系统总体结构图支持软件系统的详细设计

B)软件设计是将软件需求转换为软件表示的过程

C)数据结构与数据库设计是软件设计的任务之一

D)PAD图是软件详细设计的表示工具

(7)负责数据库中查询 *** 作的数据库语言是

A)数据定义语言

B)数据管理语言

C)数据 *** 纵语言

D)数据控制语言

(8)一个教师可讲授多门课程,一门课程可由多个教师讲授。则实体教师和课程间的联系是

A)1:1联系

B)1:m联系

C) m:1联系

D) m:n联系

(9)有三个关系R、S和T如下:

则由关系R和S得到关系T的 *** 作是

A)自然连接

B)交

C)除

D)并

(10)定义无符号整数类为UInt,下面可以作为类T实例化值的是

A)-369

B)369

C)0.369

D)整数集合{1,2,3,4,5}

(11)在建立数据库表时给该表指定了主索引,该索引实现了数据完整性中的

A)参照完整性

B)实体完整性

C)域完整性

D)用户定义完整性

(12)执行如下命令的输出结果是

?15%4,15%-4

A)3 -1

B)3 3

C)1 1

D)1 -1

(13)在数据库表中,要求指定字段或表达式不出现重复值,应该建立的索引是

A)惟一索引

B)惟一索引和候选索引

C)惟一索引和主索引

D)主索引和候选索引

(14)给student表增加一个“平均戍绩”字段(数值型,总宽度6} 2位小数)的SQL命令是

A)ALTER TABLE studeni ADD平均成绩N(b,2)

B)ALTER TABLE student ADD平均成绩D(6,2)

C)ALTER TABLE student ADD平均成绩E(6,2)

D)ALTER TABLE student ADD平均成绩Y(6,2)

(15)在Visual FoxPro中,执行SQL的DELETE命令和传统的FoxPro DELETE命令都可以删除数据库表中的记录,下面正确的描述是

A)SQL的DELETE命令删除数据库表中的记录之前,不需要先用USE命令打开表

B)SQL的DELETE命令和传统的FoxPro DELETE命令删除数据库表中的记录之前, 都需要先用命令USE打开表

C)SQL的DELETE命令可以物理地删除数据库表中的记录,而传统的FoxPro DELETE 命令只能逻辑删除数据库表中的记录

D)传统的FoxPro DELETE命令还可以删除其它工作区中打开的数据库表中的记录

(16)在Visual FoxPro中,如果希望跳出SCAN…ENDSCAN循环语句、执行ENDSCAN后面的语句,应使用

A)LOOP语句

B)EXIT语句

C)BREAK语句

D)RETURN语句

(17)在Visual FoxPro中,“表”通常是指

A)表单

B)报表

C)关系数据库中的关系

D)以上都不对

(18)删除student表的“平均成绩”字段的正确SQL命令是

A)DELETE TABLE student DELETE COLUMN平均成绩

B)ALTER TABLE student DELETE COLUMN平均成绩

C)ALTER TABLE student DROP COLUMN平均成绩

D)DELETE TABLE student DROP COLUMN平均成绩

(19)在Visual FoxPro中,关于视图的正确描述是

A)视图也称作窗口

B)视图是一个预先定义好的SQL SELECT语句文件

C)视图是一种用SQL SELECT语句定义的虚拟表

D)视图是一个存储数据的特殊表

(20)从student表删除年龄大于30的记录的正确SQL命令是

A)DELETE FOR年龄>30

B)DELETE FROM student WHERE年龄>30

C)DEL ETE student FOP年龄>30

D)DELETE student WF IERE年龄>30

(21)在Vaual FoxPro中,使用LOCATL FOR }expL>命令按条件查找记录,当查找到满足条件的第一条记录后,如果还需要查找下一条满足条件的记录,应该

A)再次使用LOCATE命令重新查询

B)使用SKIP命令

C)使用CONTINUE命令

D)使用GO命令

(22)为了在报表中打印当前时间,应该插入的控件是

A)文本框控件

B)表达式

C)标签控件

D)域控件

(23)在Visual FoxPro中,假设student表中有40条记录,执行下面的命令后,屏幕显示的结果是

?RECCOUNT()

A)0

B)1

C)40

D)出错

(24)向student表插入一条新记录的正确SQL语句是

A)APPEND INTO student VALUES(’0401’,’王芳’,’女’,18)

B)APPEND student VALUES(’0401’,’王芳’,’女’,18):

C)INSERT INTO student VALUES(’0401’,’王芳’,’女’,18)

D)INSERT student VALUES(’0401’,’王芳’,’女’,18)

(25)在一个空的表单中添加一个选项按钮组控件,该控件可能的默认名称是

A)Optiongroup 1

B)Checkl

C)Spinnerl

D)Listl

(26)恢复系统默认菜单的命令是

A)SET MENU TO DEFAULT

B)SET SYSMENU TO DEFAULT

C)SET SYSTEM MENU TO DEFAULT

D)SET SYSTEM TO DEFAULT

(27)在Visual F’oxPro中,用于设置表单标题的属性是

A)Text

B)Title

C)Lable

D)Caption

(28)消除SQL SELECT查询结果中的重复记录,可采取的方法是

A)通过指定主关键字

B)通过指定惟一索引

C)使用DISTINCT短语

D)使用UNIQUE短语

(29)在设计界面时,为提供多选功能,通常使用的控件是

A)选项按钮组

B)一组复选框

C)编辑框

D)命令按钮组

(30)为了使表单界面中的控件不可用,需将控件的某个属性设置为假,该属性是

A)Default

B)Enabled

C)Use

D)Enuse

第(31)-(35)题使用如下三个数据库表:

学生表:student(学号,姓名,性别,出生日期,院系)

课程表:course(课程号,课程名,学时)

选课成绩表:score(学号,课程号,成绩)

其中出生日期的数据类型为日期型,学时和成绩为数值型,其它均为字符型。

(31)查询“计算机系”学生的学号、姓名、学生所选课程的课程名和成绩,正确的命令是

A)SELECT s.学号,姓名,课程名,成绩

FROM student s, score sc, course c

WHERE s.学号= sc.学号,sc.课程号=c.课程号,院系=’计算机系’

B)SELECT学号,姓名,课程名,成绩

FROM student s, score sc, course c

WHERE s.学号=sc.学号AND sc.课程号=c.课程号AND院系=’计算机系’

C)SELECT s.学号,姓名,课程名,成绩

FROM(student s JOIN score sc ON s.学号=sc.学号).

JOIN course cON sc.课程号=c.课程号

WHERE院系=’计算机系’

D)SELECT学号,姓名,课程名,成绩

FROM(student s JOIN score sc ON s.学号=sc.学号)

JOIN course c ON sc.课程号=c.课程号

WHERE院系=’计算机系’

(32)查询所修课程成绩都大于等于85分的学生的学号和姓名,正确的命令是

A)SELECT学号,姓名FROM student s WHERE NOT EXISTS

(SELECT*FROM score sc WHERE sc.学号=s.学号AND成绩<85)

B)SELECT学号,姓名FROM student s WHERE NOT EXISTS

(SELECT * FROM score sc WHERE sc.学号=s.学号AND成绩>= 85)

C)SELECT学号,姓名FROM student s,score sc

WHERE s.学号=sc.学号AND成绩>= 85

D)SELECT学号,姓名FROM student s,score sc

WHEkE s.学号=sc.学号AND ALL成绩>=85

(33)查询选修课程在5门以上(含5门)的学生的学号、姓名和平均成绩,并按平均成

绩降序排序,正确的命令是

A)SELECT s.学号,姓名,平均成绩FROM student s,score sc

WHEREs.学号=sc.学号

GROUP BY s.学号HAVING COUNT(*)>=5 ORDER BY平均成绩DESC

B)SELECT学号,姓名,AVG(成绩)FROM student s,score sc

WHERE s.学号=sc.学号AND COUNT(*)>=5

GROUP BY学号ORDER BY 3 DESC

C)SELECT s.学号,姓名,AVG(成绩)平均成绩FROM student s,score sc

WHERE s.学号=sc.学号AND COUNT(*)>= 5

GROUP BY s.学号ORDER BY平均成绩DESC

D)SELECT s.学号,姓名,AVG(成绩)平均成绩FROM student s,score sc

WHERE s.学号=sc.学号

GROUP BY s.学号HAVING COUNT(*)>=5 ORDER BY 3 DESC

(34)查询同时选修课程号为C1和C5课程的学生的学号,正确的命令是

A)SELECT学号FROM score sc WHERE课程号=’C 1’AND学号IN

(SELECT学号FROM score sc WHERE课程号=’C5’)

B)SELECT学号FROM score sc WHERE课程号=’C1’AND学号=

(SELECT学号FROM score sc WHERE课程号=’C5’}

C)SELECT学号FROM score sc WHERE课程号=’C 1’ AND课程号=’C5’

D)SELECT学号FROM score sc WHERE课程号=’C 1’OR ’C5’

(35)删除学号为“20091001”且课程号为“C1”的选课记录,正确命令是

A)DELETE FROM score WHERE课程号=’C 1’AND学号=’20091001’

B)DELETE FROM score WHERE课程号=’C 1’OR学号=’20091001’

C)DELETE FORM score WHERE课程号=’C 1’AND学号=’20091001’

D)DELETE score WHERE课程号=’C 1’AND学号=’20091001’

二、填空题

(1)有序线性表能进行二分查找的前提是该线性表必须是存储的。

(2)一棵二叉树的中序遍历结果为DBEAFC,前序遍历结果为ABDECF则后序遍历结果为。

(3)对软件设计的最小单位(模块或程序单元)进行的测试通常称为测试。

(4)实体完整性约束要求关系数据库中元组的属性值不能为空。

(5)在关系A(S, SN, D)和关系B(D,CN, NM)中,A的主关键字是S, B的主关键字是D,则称是关系A的外码。

(6)表达式EMPTY(.NULL.)的值是。

(7)假设当前表、当前记录的“科目”字段值为“计算机”(字符型),在命令窗口输入如下命令将显示结果。

m=科目-“考试”

?m

(8)在Visual FoxPro中假设有查询文件queryl.qpr,要执行该文件应使用命令。

(9)SQL语句“SELECT TOP 10 PERCENT*FROM订单ORDER BY金额DESC”的查询结果是订单中金额的10%的订单信息。

(10)在表单设计中,关键字表示当前对象所在的表单。

(11)使用SQL的CREATE TABLE语句建立数据库表时,为了说明主关键字应该使用关键词KEY。

(12)在Visual FoxPro中,要想将日期型或日期时间型数据中的年份用4位数字显示,应当使用SET CENTURY命令进行设置。

(13)在建立表间一对多的永久联系时,主表的索引类型必须是。

(14)为将一个表单定义为顶层表单,需要设置的属性是。

(15)在使用报表向导创建报表时,如果数据源包括父表和子表,应该选取报表向导。

Java是一个很好的面向对象语言,这是08年的试题。你可以在网上下更全套的试题练习。

全国2008年10月考试Java 语言程序设计(一)试题

课程代码:04747

一、单项选择题(本大题共10小题,每小题1分,共10分)

在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。

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 xstatic 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对象

二、填空题(本大题共10小题,每小题2分,共20分)

请在每小题的空格中填上正确答案。错填、不填均无分。

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语言中,客户端使用的套接字类是_________。

三、简答题(本大题共6小题,每小题3分,共18分)

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能做的三件事情。

四、程序填空题(本大题共5小题,每空2分,共20分)

27.方法int maxDigit(int n)的功能是找出十进制整数n各位中最大的一位数字。例如,n=23765,该方法的返回值是7。

static int maxDigit(int n){

int c=0,d

while(n>0){

d=_______

if(d>c) c=d

n/=10

}

________

}

28.某程序的界面包含一个文本区text1、一个文本框text2和一个按钮button。实现在文本区中输入整数序列后,点击按钮,程序响应按钮事件,累计文本区输入的整数序列,并将总和输出在文本框中。这里给出的是其中相应按钮事件的方法。

public void actionPerformed(ActionEvent e){

int sum

if(e.getSource()==button){

String s=text1.________//获取text1中的信息

StringTokenizer fenxi=new StringTokenizer(s,”,,,\n”)

int n=fenxi.countTokens()

double a[]=new double[n]

for(int i=0i<ni++){

String temp=fenxi.nextToken()

a[i]=Double.valueOf(temp).doubleValue()

}

sum=0

for(int i=0i<ni++){

__________

}

text2.setText(””+sum)//刷新显示。

}

}

29.以下是生成菜单项对象,以及菜单项选择事件处理方法的部分代码。要求当菜单项singingItem被选中时,在文本框text中输出“唱歌菜单项被选中!”的字样。

……

singingItem=new________(”唱歌”);//生成菜单项对象

……

public void actionPerformed(ActionEvent e){

if(e.getSource()==singingItem)

text.setText(e.________()+ ”菜单项被选中!”);

}

30.某小应用程序实现幻灯片放映。小应用程序的init()方法将幻灯片读入数组中存储和注册鼠标监视器。程序运行时,单击鼠标,就顺序变换放映幻灯片的序号。这里给出的是其中的paint()方法和mousePressed()方法。

final int number=30//假定幻灯片有30张

int count=0

Image[]pic=new Image[number]

public void paint(______gc){

if((pic[count])!=null)

gc.drawImage(pic[count],10,10,pic[count].getWidth(this),

pic[count].getHeight(this),this)

}

public void mousePressed(MouseEvent e){

count=(count+1)% number//循环逐张显示

__________

}

31.以下定义的类shareDataManager用于管理多个线程共享数据data。一些线程要减少data,另一些线程要增加data。由于data不可以是负值,修改data的方法对这些线程来说不仅要互斥,还要同步。类提供一个方法modiData()供修改data的线程调用,该方法在data修改结束后,应通知其它等待进入这个方法的线程。

class ShareDataManager{

int data=0

________void modiData(int delta){

if(delta>=0){

data+=delta

}else {

while(data <delta){

try{System.out.println(”发生等待!”);

wait()

}catch(InterruptedException e){ }

}

data-=delta

}

_________

}

ShareDataManager(int ititData){data=initData}

}

五、程序分析题(本大题共5小题,每小题4分,共20分)

32.阅读下列程序,请写出该程序的输出结果。

import java.applet.*import java.awt.*

class Point{

int x,y

Point(int xx,int yy){ x=xxy=yy}

Point(Point p){x=p.xy=p.y }

void m(int dx,int dy){x+=dxy+=dy}

}

class Circle extends Point{

int r

Circle(Point p, int rr){ super(p)r=rr }

float c(){ return 3.14f*2.0f*r }

float a(){ return 3.14f*r*r}

}

public class sample extends Applet{

Circle yuanPoint d

public void init() {d=new Point(2,5)yuan=new Circle(d,10)}

public void paint(Graphics g){

g.drawString(”yuan Circle”+(int)(yuan.c()*100.0)/100.0,5,20)

g.drawString(”yuan Area”+(int)(yuan.a()*100.0)/100.0,5,40)

}

}

33.阅读下列程序,请写出该程序的功能。

import java. util.*

public class Class1{

public static void main(Srting args[]){

Date date1=new Date()

System. out. println (datel)

String t=datel.toString()

int endPos=t.indexOf(‘C’)

t=t.substring(11,endPos)

System. out println(t)

}

}

34.阅读下列程序,请写出该程序的功能。

import java.applet.*import javax.swing.*import java.awt.event.*

public class Class l extends Applet implements ActionListener{

JTextField text1,text2

public void init(){

text1=new JTextField(10) text2=new JTextField(10)

setSize(200,100)add(text1)add(text2)

text1.addActionListener(this)

}

public void actionPerformed(Action Event e){

long n

if(e.getSource()==text1){

n=Long.parseLong(text1.getText())

text2.setText(String.valueOf(n*n))

}

}

}

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)

}

}

class MyWindow extends JFrame implements AdjustmentListener{

private JTextField text

MyWindow(String s){

super(s)

MyScrollBar myBar=new MyScrollBar(10,10,0,255)

Container con=this. getContentPane()

con. setLayout(new GridLayout(2,1))

this. setSize(200,100)

this. setLocation(100,100)

myBar.addAdjustmentListener(this)

text=new JTextField(””,20)

con. add(text)con.add(myBar)

this.setVisible(true)

}

public void adjustmentValueChanged(AdjustmentEvent e){

MyScrollBar myBar=(MyScrollBar)e.getAdjustable()

text.setText(””+myBar.getValue())

}

}

public class Class1{

public static void main(String[]args){

MyWindow myWindow=new MyWindow(”text5_4”)

}

}

36.小应用程序创建一个线程。例子使用容器类方法getGraphics()获得Graphics对象,给线程作为画笔使用。请写出该程序中这个线程的工作内容。

import java.applet.*import java.awt.*

public class Class1 extends java.applet.Applet implements Runnable{

Thread redBallGraphics redPen

int rx=0,ry=0

public void init(){

setSize(250,200)

redBall =new Thread(this)

redPen=getGraphics()

redPen. setColor(Color.red)

setBackground(Color.gray)

}

public void start(){ redBall.start() }

public void run(){

while(true){

if(Thread.currentThread()==redBall){

rx=(int)(80*Math.random())

ry=(int)(80*Math.random())

red Pen.setColor(Color.red)

red Pen.fillOval(100+rx,100+ry,10,10)

try{redBall.sleep(500)}

catch(InterruptedException e){}

redPen.setColor(Color.gray)

redPen.fillOval(100+rx,100+ry,10,10)

}

}

}

}

六、程序设计题(本大题共2小题,每小题6分,共12分)

37.编写一个方法halfArray(),要求该方法有一个元素类型为int的数组参数,方法返回一个新数组,新数组的长度与参数数组的长度相同,而新数组元素的值是参数数组各元素的一半。

38.一个Java小应用程序,界面有三个文本框和两个按钮,前两个文本框用于输入整数,第三个文本框用于输出结果。两个按钮分别表示加和减运算。当前两个文本框输入整数后,点击相应按钮,程序就将计算结果输出在第三个文本框中。以下是程序的大部分,其中监视按钮事件的方法未给出,试编写处理按钮事件的方法。

注:这里是给定部分的程序,你要编写的是actionPerformed(ActionEvent e)方法。

import java.applet.*import javax.swing.*

import java.awt.* import java.awt.event.*

class Panel1 extends JPanel{

JTextField text1, text2, text3JButton addButton,subButton

Panel1(){

text1=new JTextField(10)text2=new JTextField(10)

text3=new JTextField(10)setLayout(new GridLayout(5,1))

addButton=new JButton(”加”);subButton=new JButton(”减”);

add(text1) add(text2)

add(text3) add(addButton) add(subButton)

}

}

public class Classl extends Applet implements ActionListener{

Pane1 panel

public void init(){

setSize(100,200) panel=new Panel1()add(panel)

(panel.addButton).addActionListener(this)

(panel.subButton). addActionListener(this)

}

public void actionPerformed(ActionEvent e){


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9411581.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存