自考04747Java语言程序设计(一)自学辅导资料

阅读: 评论:0

2024年1月28日发(作者:)

自考04747Java语言程序设计(一)自学辅导资料

4747 Java语言程序设计(一)

第一章 Jave语言基础

1.1 Java语言的特点

领会Java语言的特点、关键字

语言采用多种机制来保证可移植性,其中最主要的是______。虚拟机

1110-11.Java语言是一种 ____强类型语言___ 语言,它约束程序员必须遵守规定编写程序,能让编译器检测出程序中尽可能多的错误。

1.2 Java应用程序和小应用程序

识记 Java应用程序与小应用程序的特点和区别

11.一个应用程序必须在某个类中定义的方法是______。main()

1201-11.能在浏览器上执行的Java程序被称为 小应用程序 。

1.3 Java程序的开发过程

程序的字节码文件的扩展名是_________。 Class

1001-11.Java的编译程序先将Java源程序翻译成与机器无关的__________。字节码

源文件的扩展名是_____.java____。

1210-11. 如果Java源文件中有多个类,那么只能有一个__public____类。

1404-11.类Testll经Java编译程序编译后,产生的文件是 ______。

1.4 标识符和关键字

简单应用:Java程序的标识符命名规则、注释、基本数据类型

标识符可以用来标识文件名、变量名、类名、接口名和成员方法名等,其构造规则如下:

1) 标识符由Java字母和Java数字组成;

2) 首字符必须是Java字母;

3) 除去关键字、false、true和null;

4) 所有标识符是区分大小写的。

注释:

1 / 59

1) 行注释

2) 块注释

3) 文档注释

//

/* …. */

/** … */

1404-1.以下标识符中,不是..Java语言关键字的是

A.wait B.new C.long D.switch

1.下述字符组合不能作为Java程序标识符的是( )

A.Aa12 B.大x C.y小 D.5x

1.下面供选字符序列中,不属于...Java语言关键字的是( )

A.goto B.null C.false D.native

1.在下述字符串中,不属于...Java语言关键字的是 ( C )

A.float B.new C.java D.return

1110-1.下面供选字符序列中,不属于...Java语言关键字的是 ( )

A. throw B. synchronizedC. protect D. try

1010-1.以下是关于Java语言关键字的叙述,其中正确的是( )

A.关键字可以用来描述类的成员类型,但是不能描述普通变量

B.关键字由字母(包括英文字母、下划线字符、美元字符、文字字符)和数字组成

C.关键字不可以用作变量、方法、类或标号的标识符

和main都是Java语言的关键字

1.5 基本数据类型

0开头表8进制常量,数字只能(0-7)

1.下列字符组合不能作为Java整型常量的是( )

A.078 B.0x3ACB C.5000 D.0x3ABC

1.在Java语言中,用于标记回车符的转义字符是

A.b B./b C.n D./n

1001-12.表达式¨23 & 18’’的值是__________。 2318

1101-1.在Java语言中,int类型数据的长度是( )

A.1个字节 B.2个字节 C.4个字节 D.8个字节

11.在Java语言中,双精度型变量在内存中占____8______个字节。

1101-l4.布尔类型数组元素的默认初值是____false_____。

第2章 运算和语句

选择 填空 简答 程序填空

2 / 59

2.1 数据运算

识记:

领会:

常用运算符的定义、包声明语句(package)和导入语句(import)

条件运算和其他运算

2.Java语言中数值数据的类型能自动转换,按照从左到右的转换次序为 ( B )

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

1404-2.以下数据类型转换中,必须进行强制类型转换的是

→char B. short→long →double D. byte→int

2.以下程序代码的输出的结果是( )

int x=53; System. out. println(1.0+x/2);

A.27.0 B.27.5 C.1.026 D.1.026.5

1404-12.表达式“45&20”的十进制值是 ______。 4 101100&010100

2.设有定义int i=6;,则执行语句“i+=i-1;’’后,i的值为

A.10 B.11 C.12 D.13

1210-12. 运算符‘‘<”、 “*”和“&&”按优先级从高到低的顺序排列为__* < &&____。

21.请写出表示条件“x=2与y=3有且只有一个成立”的Java表达式”。(x=2)!=(y=3)或(x=2&&y!=3)||(x!=2&&y!=3)

12.构造一个Java表达式:y/x>5,并且x!=0。这个表达式是_________。y/x>5 && x!=0

1101-12.表达式-4>>l的十进制值是______-2___。(解法:-4/(2的一次幂))

21.请写出表示year年是闰年的Java表达式。闰年的条件是:每4年一个闰年,但每100年少一个闰年,每400年又增加一个闰年。(year%4= =0) && (year%4!=0)||(year%400=

=0) 简答

12.用条件运算符构造一个表达式:goal等于10时,表达式的值为“对了!”,否则,表达式的值为“错了!”。这个表达式是_________。

1010-2.执行以下代码,输出结果是( )

int x=5,y=7,u=9,v=6;

n(x>y ? x+2:u>v ? u-3:v+2);

A.8 B.6 C.7

2.以下程序代码的输出结果是( )

int x=73;n(x>>1);

A.36 B.36.5 c. 37 D.true

1110-2.以下程序代码的输出的结果是 ( )

double x = 25.6;

n((int)x << 1);

3 / 59

A. 48 B. 50 C. 51 D. 52

1201-2.表达式“-1>>>1”的十进制值是( )

31A.-2 B.2-1 C.-(231-1) D.232-1

12.在Java语言中,逻辑右移运算符为____>>>______。

2.2 语句

简单应用: 阅读简单程序的功能和输出结果,编写简单的程序

综合应用: Java语言语句的书写形式和语句的语义,算术运算符、自增自减运算符、关系运算符和逻辑运算符

1210-2. 以下关于Java语句的说法正确的是

A. continue语句必须出现在多路按值选择结构或循环结构中

B. return语句可以出现在方法体的外面

C. 编译系统会把单独的分号看成是空语句

D. break语句的作用是提早结束当前轮次循环

1001-21.请写出一段if语句,判断一个整数n是否为偶数。如果是偶数,输出“Yes.”;否则,输出“No.”。

If(n%2==0){n(“Yes”);}else{n(“No”);}

1110-12.在Java语言中, package_____ 语句用于表示出现在该文件中的所有类都属于这个程序包。

1010-21.请使用for循环语句计算S=1+double s=0.0

for (int i=1;s<=10;i++) s+=1.0/I;

1404-21.已知变量n,请写出使用for语句计算S1111的值。

2310111的代码。

23n1101-21.请写一个if语句,判断整数n是否同时满足“被3除余2,被7除余1”的条件,满足时输出“OK”,否则输出“NO”。

1110-21.请使用for循环语句实现计算s11241的值。

202.以下程序代码的输出结果是( )

int x = 10;

while (x > 7)

{ ("*"); x--;}

A.** B.*** C.* D.****

1101-2.在switch语句中,switch后面括号内的表达式的类型不能是( )

..

1010-12.程序包声明的格式是______。

4 / 59

12.import语句的格式是______。12、import包名.类名;

1201-21.请写出以下程序段的执行结果。

int c=0,d,n=3758;

while(n>0){ if((d=n%l0)>c) c=d;n/=10;}

n("结果="+c);

执行结果:结果=8

21.请写出下面程序段的执行结果。

int n=90;

int k=2;

(n+″=〞);

while(k<=n){

if(k==n){n(n); break;}

else if(n%k==0){(k+″*″);n=n/k;)

else k++;

} 90=2*3*3*5

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

static int maxDigit(int n){

int c=0,d;

while(n>0){

参考答案:n%10

d=_______;

if(d>c) c=d;

return c

n/=10;

}

________; }

27.方法int sigmaDigit(int n)的功能是求出十进制整数n的各位数字之和。例如,n=1234,该方法的返回值是10。

static int sigmaDigit( int n )

{ int sum = 0, d;

while( n > 0 ){

d=n% 10;

_________; sum+=d

n/= 10;

}

_________; return sum

1010-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;

5 / 59

for(i=3;i*i<=n;i+=2)

if(_________) break;

if(_________) return true;

return false;

}

1101-27.方法int numberOfDigits(int n)的功能是计算十进制正整数n的位数。

int numberOfDigits(int n){

int c=0:

do{ n/=10;_________;

}while(_________);

return c;

}

第3章 面向对象编程基础

选择 填空 简答 分析程序运行结果

识记:类的内存模型,final、abstract、super、this的用法,Applet程序结构和执行过程。

领会:抽象、对象、消息、类、继承、封装、接口、多态等面向对象的基本概念。

简单应用:访问权限的设置,Applet类的init()、strart()、stop()、destroy()、paint()、repaint()等方法。

综合应用:类的声明、成员变量(实例变量、类变量)和方法(实例方法、类方法)、构造方法、方法重载,对象的声明、创建和使用,接口的声明和使用。

3.1 面向对象的基本概念

13.在面向对象语言中,对象之间的交互通过______实现。相互发送消息

1110-13.在Java程序系统中,对象之间的交互通过相互发送 _____消息__ 实现

13.类是对一组相同对象的描述,类概括了同类对象的共有性质:_________。(P40)数据(属性)和方法(函数)

1404-3.以下供选择的概念中,属于面向对象语言重要概念和机制之一的是

A.函数调用 B.模块C.继承 D.结构化

1010-13.当联编推迟至运行时间实现时,该联编过程称为______。动态联编

3.在以下供选择的概念中,不属于面向对象语言概念的是 ( B )

...A.消息 B.模块 C.继承 D.多态性

1101-22.请写出在面向对象系统中,类和对象的关系。

1110-3.在以下供选择的概念中,不属于面向对象语言概念的是 ( )

... A.类 B.函数 C.动态联编 D.抽象

6 / 59

1 3.在Java语言中,通过扩展原有的类,声明新类的机制被称为___继承_____。

3.2 Java的类和对象

22.请写出在类的方法的定义之前,加上修饰字public、private的区别。

Public修饰的方法为公用方法,任何类的方法都可以访问他

Private修饰的方法,本类内部可以访问

语言中,只限子类或者同一包中的类的方法能访问的访问权限是( )

e ted D.<无修饰>

1201-22.什么是方法重载,如何正确区分重载?

方法重载是指在一个类中定义多个有相同名字的方法。区分方法:根据这些方法或参数不同或者按顺序参数的类型不同来区分。

1101-13.在定义成员变量时,用关键字___static______修饰的是类变量。

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都是实例变量

语言中,在类定义时用final关键字修饰,是指这个类( )

A.子类必须实现父类未实现的方法 B.没有具体实现代码

C.必须要有实例 D.不能被继承

1210-3. 不能被再继承的类是

..A. final类 B. abstract类 C. public类 D. 用户自定义类

1404-13.如果类A继承和扩展类B,则子类A和超类B之间的关系是 __is a____。

1201-12.如果子类A隐藏了超类B的成员变量x,而类A的某个方法f()要引用类B的x,则引用类B的x的引用代码可以写成 super.x 。

1201-14.设u和v是类A的两个对象,则逻辑表达式“u==v”的意义是 引用相同的对象 。

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

class A {

int x, y;

A(int a, int b) {

x= a; y= b;

}

}

public class sample {

public static void main(String args[]) {

标识:类的内存模型

7 / 59

A pl, p2;

p2 = new A(12, 15);

p1 = p2; p2.x++;

n("p1.x=" + p1 .x);

}

} p1.x=13

3.设类U声明,及对象u和v的定义如下:

class U{

int x, int y;

U(int a, int b){x= a; y = b;}

void copy(U a){ x = a.x; y = a.y;}

}

U u = new U(1, 2), v = new U(2, 3);

在以下供选择的代码中,可能引起系统回收内存的是( )

A.u.x=v.y;u.y=v.x; B.u=v; (v); (u);

理解引用和对象实体很重要

1010-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;

n("obj 1.m='' + obj 1.m);

n("obj 1.n=" + obj 1.n);

n("obj2.m=" + obj2.m);

n("obj2.n=" + obj2.n);

}

}

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();

8 / 59

Object ob=new Student();

参考答案:(P57)Student s1=new Person();

Undergraduate ug1=new Person();

Undergraduate ug2=new Student();

[解析]本题考核知识点是类之间的is-a关系。在两个相关的类之间,可能会有is-a和has-a关系。若类A是继承扩展类B,则子类A和超类B之间是is-a关系,即类A是一个类B。这种情况下,A类对象一定可以是B类类型,因为B类的所有成员A类也有。也就是子类对象可以是超类类型。语句B

b=new A()是正确的,A a=new B()是错误的。

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

class Parent{

private void method1() { n("Parent′s method 1()");}

public void method2() { n("Parent′s method 2()");method1();}

}

class Child extends Parent {

public void method1(){ n("Child′s method 1 ()");}

public static void main(String args[]){ Parent p = new Child();2();}

}

Parent′s method 2()

Parent′s method 1()

此处应注意Parent类的method1()是私有方法,不能被继承,若为public 则是覆盖则结果为

Parent′s method 2()

Child′s method 1 ()

32.阅读下列程序,请写出该程序的输出结果。考点:多重继承子类对象的构造

class Tree {

private String name;public boolean flower;

public int birthYear;

Tree(String n, boolean f, int y){ name = n; flower = f; birthYear = y; }

public void setName(String n){name = n;}

public String getName(){return name; }

public void printTree(String str){

n(str); n("Name:"+name);

n("Birth Year:"+birthYear);

n("Flower:"+flower);

}

}

class PineTree extends Tree {

public boolean coniferous = true;

PineTree(String n, boolean f, int y, boolean c){super(n, f, y);coniferous = c; }

9 / 59

public void printTree(String str){

super, printTree(str);

n("Coniferous:" + coniferous);

}

}

class Test32 {

public static void main(String []args){

Tree fOb = new Tree("May Flower", true, 1980);

PineTree sOb = new PineTree("Pine", false, 2000, true);

ree(" fOb:"); ree("sOb:");

}

fOb:

}

Name:May Flower

Birth Year:1980

Flower:true(2分)

sOb:

Name:Pine

Birth Year:2000

Flower:false

Coniferous:true(2分)

3.以下关于抽象类及抽象方法的说法中,不正确的是

...A.抽象方法只能出现在抽象类中

C.有抽象方法的类一定是抽象类

B.抽象类必须有抽象方法

D.抽象方法没有实现的代码

13.在类声明之前用_________修饰,声明类是不能被再继承的类,即它不能再有子类。

Final

3.Java语言中,在类定义时用final关键字修饰,是指这个类( )

A.不能被继承 B.在子类的方法中不能被调用

C.能被别的程序自由调用 D.不能被子类的方法覆盖

1001-13.如果类A某个成员变量的类型是类B,则类A和类B之间是__________关系。(P57)Has-a

3.3 接口

1001-22.请写出接口定义的一般形式。(P59)

1404-22.请写出接口体中可能包含的内容。

1101-3.以下关于接口的叙述中,正确的是( )

A.所有的接口都是公共接口,可被所有的类和接口使用

B.一个类通过使用关键字interface声明自己使用一个或多个接口

10 / 59

C.接口中所有的变量都默认为public abstract属性

D.接口体中不提供方法的实现

1201-13.接口有与类相似的基本形式,它有常量定义和方法定义,但没有 方法的实现代码 。

3.4 基本类

3.5 Java小应用程序基础

标识:小应用程序与Applet类的关系, 小应用程序结构和执行过程

简单应用: Applet类的init()、strart()、stop()、destroy()、paint()、repaint()等方法。

11.一个小应用程序必须定义成一个_________。Applet(JApplet)类的子类

1010-22.请写出Applet类中init()方法的功能 创建所需要的对象,设置初始状态,装载图像,设计对数等

22.为了系统安全,对JavaApplet小应用程序有什么限制?

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

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

int count=0;

paint()方法需要Graphics类型参数,当单Image[]pic=new Image[number];

击鼠标时,要在paint()方法中再次显示图public void paint(______gc){

片,可以调用repaint()方法,使程序先清if((pic[count])!=null)

age(pic[count],10,10,pic[count].getWidth(this),

除paint()运行的结果,再运行paint();也pic[count].getHeight(this),this);

可以调用update()方法,该方法会使系统}

自动调用repaint()方法。

public void mousePressed(MouseEvent e){

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

__________;

}

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

import .*;import .*;

class Point{

int x,y;

Point(int xx,int yy){ x=xx;y=yy;}

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

void m(int dx,int dy){x+=dx;y+=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 yuan; Point d;

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

参考答案:yuan Circle 62.8(2分)

yuan Area 314.0(2分)

11 / 59

public void paint(Graphics g){

ring("yuan Circle"+(int)(yuan.c()*100.0)/100.0,5,20);

ring("yuan Area"+(int)(yuan.a()*100.0)/100.0,5,40);

}

}

第4章 数组和字符串

简单应用:非平衡的多维数组的创建,StringTokenizer类的用法,字符串与字节数组之间的转换,对象的字符串表示

综合应用:一维数组、二维数组、字符串的声明和创建,字符串的常用处理方法,字符串与基本数据类型之间的转换

4.1 数组

1210-14. 数组名如同对象名一样,是一种__________。

23.请写出声明int类型的二维数组intArr的三种形式。

Int intArr[][] Int [][]intArr Int []intArr []

1110-14.数组每个元素按存储顺序对应一个下标,下标从 ___0____ 开始顺序编号

4.在下述Java语言语句中,错误的创建数组的方法是 ( D )

..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};

1404-4.以下Java程序代码中,能正确创建数组的是

myArray[]; myArray[]=new int[5];

B.int myArray[]=new my(5);

[]myArray={1,2,3,4,5};

D.int myArray[5]={1,2,3,4,5};

1201-23.请写出定义一个包含2个子数组的二维整型数组对象aArr的代码,其中第一个子数组有5个元素,第二个子数组有3个元素。

int aArr[][]=new int[2][];

aArr[0]=new int[5];

aArr[1]=new int[3];

14.设有数组a和b的定义如下:

int[]a={1,2,3};int[]b={4,5,6}

……

执行以下代码“a=b;”,除了完成赋值操作之外,引起系统额外要做的工作是_________。(P45)回收内存(引用类型)

0901-33.阅读下列程序,请写出调用pascal(4)的输出结果。

static void pascal(int n) {

12 / 59

int pas[];

pas = new int[n];

pas[0] = 1;

n(pas[0]);

for (int i = 2; i <= n; i++) {

/* 由存储在pas中的原来内容生成新内容*/

pas[i - l] =1;

for (int j = i- 2;j > 0; j--)

pas[j] = pas[j] + pas[j - 1 ];

for (int j = 0; j < i; j++)

(pas[j] +" ");

n();

}

}

0910- 33.阅读下列程序,请写出该程序的输出结果。引用参数传递

class Test33 {

static void s (int b[ ], int k) {

int i, j, t;

for(i = 1;i< k; i++) {

for(t = b[i], j = i-1; j >= 0 && t < b[j]; j--)

b[j+l] = b[j];

b[j+ 1 ] = t;

}

}

public static void main(String []args){

int i, a[] = {6, 12, 7, 11, 5 };

s(a, 5);

for(i = 0;i< ; i++) (a[i]+" ");

System. out. Println();

}

} 5 6 7 11 12

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

class Test33 {

static int merger(int [] a, int []b, int []c){

int i = 0, j = 0, k = 0;

13 / 59

1

1 1

1 2 1

1 3 3 1

while(i < && j < ) {

if(a[i] < b[j])c[k++] = a[i++]; else c[k++] = b[j++];

}

while(i < ) c[k++] = a[i++];

while(j < ) 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++)

(c[k]+ (k < p-1 ? " ":"n"));

}

}

0910-27.方法int sigmaEvenNum(int[]a)的功能是求已知数组中偶数的个数。

static int sigmaEvenNum(int []a){

int s =0;

for ( int i=0;______;i++ ) {

if(______) s++;

}

return s;

}

1001-27.方法void moveOddForword(int a[ ])的功能是将数组中的所有奇数移到所有偶数之前。

void moveOddForword(int a[]){

for(int i=0, odd=0;___ i< _____;i++)

if(___a[i]%2= =0_____){

int t=a[i];a[i]=a[odd];a[odd]=t;odd++;

}

}

1010-4.设有数组定义int[][] x={{1,2},{3,4,5},{6},{}};,则的值为( )

A.3 B.4 C.6 D.7

1 2 3 5 6 9

0901-37.编写数组复制方法。该方法从已知平衡的两维数组的左下角复制出一个非平衡 14 / 59

的三角二维数组。设复制数组方法的模型为:

public static double[][] leftDownConer(double[][]anArray)

public static double[][] leftDownConer(double[][]anArray){

}

}

return temp;

}else{

}

temp=new double[l2][];

for(int i=0;i

}

return temp;

temp[i]=new double[i+1];

for(int j=0;j

temp[i][j]=anArray[l1-l2+i][j];

int l1= ;

int l2=anArray[0].length;

double temp[][];

if(l1<=l2){

temp=new double[l1][];

for(int i=0;i

temp[i]=new double[i+1];

for(int j=0;j

temp[i][j]=anArray[i][j];

0910-37.编写方法int searchMaxNumIndex(int[]a),寻找已知数组中最大数的下标并返回。

int searchMaxNumIndex(int[]a){

int i,maxIndex;(1分)

for(i=maxIndex=0;i<;i++){(2分)

if(a[i]>a[maxIndex])(1分)

maxIndex=i;(1分)

}

return maxIndex;(1分)

}

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

1:参考答案:

[解析]本题考核知识点是面向对象程序设float [] halfArray(int [] a){(1分)

计中的方法设计。 编写方法,需要确定方 float [] b=new int[];(2分)

法名,已给出halfArray;再确定参数个数及 for(int k=0;k<;k++){(2分)

类型,要求是一个int型数组参数即 b[k]=float(a[k]/2.0);

halfArray(int []);再就是确定方法返回值类型,要求返回一个新数组,新数组元素类 15

型要确定下来,根据题意,新数组元素是参/ 59

数数组相应元素的一半,这一半应该可能是小数,所以方法头应该为

}

return b;(1分)

}

4.2 字符串

1001-14.Java语言提供了两个用于处理字符串的类,它们是__________。StringStringBuffer

14.设有两个字符串对象str1和str2,则表达式“strl==str2”的意义是判别字符串strl和str2______。是否引用同一个对象

1404-14.Java语言提供的用于处理不可改变的字符串类是 ______。String

4.设有以下代码:

String s l="123";

String s2="123";

String s3=new String("123");

则表达式s1==s2和s1==s3的值分别是( )

,true ,false ,false ,true

14.已知字节数组b,取由b[i]开始至b[j](其中j≥i≥0)结束的字节字符构造一个字符串s,其语句为:String s=new String(__b,I,j ________);。

14.设有字符串定义:

String s="ABCDABCD";

则表达式f("B")的值是_________。 1

1101-4.以下代码段的输出结果是( )

String s="JavaWorld"; (f("a",4));

A.-1 B.O C.1 D.4

1210-4. 已知String s="ABCDEFGHIJABC",以下说法错误的是

..A. f("C")等于2

C. f("A",7)等于10

4.执行下列程序语句后,b的值是

String a=〃Hello〃;

String b=ing(1,3);

A.el B.He C.ell D.Hel

1110-4.在Java语言中,能够实现字符串连接的方法是 ( )

A. String substring(int startpoint) B. String concat(String s)

B. f("EFG",2)等于4

D. f("D",4)等于3

C. String replace(char old,char new) D. String trim()

1201-4.表达式 "java程序设计".1ength() 的值是( )

A. 0 B.12 C. 8 D.13

16 / 59

1201-15.要获得对象的字符串表示,调用的方法是 String toString() 。

1010-37.请编写方法int countNum(String str),该方法的功能是统计已知字符串str中数字的个数。例如,countNum("A42B83C2D")的返回值是5。

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

import java. util.*;

public class Class1{

参考答案:程序获得当前日期,将日期public static void main(Srting args[]){

的字符串表示输出;(2分)截取日期字Date date1=new Date();

符串中从第11位开始到字母‘C’之前System. out. println (datel);

String t=ng();

的部分字符串,并输出。(2分)

int endPos=f(`C');

t=ing(11,endPos);

System. out println(t);

}

}

4.以下是关于字符串运算的代码,执行该代码段的输出结果是( )

String s=″″,sl,s2;

sl=ing(2);s2=ing(2,5);n(s1+s2);

A.0122345 B.234567892345

C.012234 D.23456789234

Tokenizer类用来把字符串分解为标记。

4.需要分析字符串,并将字符串分解成可被独立使用的单词,可使用java. util包中的类是

( )

A.String B.StringBuffer C.StringTokenizer D.stringTokenizer

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

import .*;import .*;

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=okens();

17 / 59

n(″输入的信息有单词:″+n+″个,全部单词如下:″);

while(pas.hasMoreTokens()){

String s=ken();

n(s);

}

}

)

答:

在输入对话框中输入文字,并以多好作为分割符输出单词个数,及各个单词

1010-14.使用默认字节字符对应表,将字符串转化为字节数组的方法是______。getBytes()

1001-37.请编写方法void strReverse(String str),该方法的功能是输出一个新字符串,新字符串字符排列顺序与原字符串str的字符排列顺序相反。例如,strReverse(″ABCD″) 所输出的结果是″DCBA″。请使用字符串与字节数组的相互转换方法进行设计。

答:public static void strReverse(String str){

byte[] s=es();

String t="";

for(int i=-1;i>=0;i--){

t+=(char)s[i];

}

n(t); }

第五章 图形界面设计(一)

创建框架窗口的方法,设计标签、按钮和按钮事件的处理方法

面板,布局设计,文本框和文本区数据输入和输出的方法

5.1 图形界面设计基础

领会:AWT和Swing的基础知识,组件和容器,事件驱动的概念

5.能够直接添加组件的Swing容器是

A.JFrame B.JDialog C.JWindow D JPanel

1404-5.某Java程序的类A要利用Swing创建框架窗口,则A需要继承的类是

A.JWindow B.JFrame g D.JApplet

5.以下关于AWT与Swing之间关系的叙述,正确的是( )

是AWT的提高和扩展

18 / 59

B.在写GUI程序时,AWT和Swing不能同时使用

和Swing在不同的平台上都有相同的表示

中的类是从Swing继承的

15.一个基于Swing的应用程序可能在任何平台上都会有相同的______。外观与风格

1010-5.在以下Swing的类中,属于容器的是( )

t n rea

1101-5.以下不属于...AWT库中定义的类是( )

cs

1101-23.请写出JFrame、Frame以及Window这三个类的继承关系(按照从父类到子类顺序排列)。Window>frame>jframe

1110-5.在以下供选择的容器类中,属于顶层容器的是 ( )

A.JDialog C.JScrollPane ar

1210-5. 以下Swing提供的GUI组件类和容器类中,不属于顶层容器的是

...A. JFrame B. JApplet C. JDialog D. JMenu

2 框架窗口

综合应用:声明JFrame的子类和创建JFrame窗口

5.要为程序的子窗口设定一个由字符串s指定的名字,可以采用的代码是( )

A.JFrame(s) B.window(s) C.new JFrame(s) D.super(s)

5.在Swing中,它的子类能用来创建框架窗口的类是 ( B )

A.JWindow B.JFrame C.JDialog D.JApplet

1110-15.用Swing编写GUI程序时,通常用 __Jframe__ 类派生的子类创建窗口对象。

24.请写出在JFrame框架窗口对象中添加组件的步骤。

5.3 标签、按钮和按钮事件

简单应用: 声明和创建按钮标签

综合应用: 声明和创建按钮和按钮事件的处理

1210-15. 为了让监视器与事件对象关联起来,需要对事件对象做__监视器注册____,告诉系统事件对象的监视器。

1404-23.请写出对事件对象作监视器注册的作用。

1110-22.请写出Java语言中编写事件处理程序的两种方案。

19 / 59

1110-23.请写出代码段,用来创建一个标签对象lbl,显示文字为“Java”,背景色设为绿色。

15.在实现接口ActionListener的方法actionPerformed()中,常用的有两个获得事件源的方法,它们是getActionCommand()和_________。getSource()

1404-15.要使得已注册的按钮对象暂时不响应事件,需使用的方法是______。setEnabled()

1001-15.某程序用代码“JTextField text=new JTextField();”创建了一个文本框,并对这个文本框注册了监视器,则在监视器处理方法actionPerformed(ActionEvent e)中,判定是在这个文本框上发生事件的条件表达式是__________。rce()==text

1001-23.请写出Java语言编写事件处理程序的两种主要方案。(P87)

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

public void actionPerformed(ActionEvent e){

int sum;

if(rce()==button){

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

StringTokenizer fenxi=new StringTokenizer(s,",,,n");

int n=okens();

double a[]=new double[n];

for(int i=0;i<n;i++){

参考答案:

String temp=ken();

getText()

a[i]=f(temp).doubleValue();

}

sum+=a[i]或sum=sum+a[i]

sum=0;

for(int i=0;i<n;i++){

__________;

}

t(""+sum);//刷新显示。}

0910-28.某小应用程序窗口包含有文本区dispArea,以及一个带文字“追加”的按钮。当点击这个按钮时,程序弹出一个输入信息的对话框,并将对话框中输入的内容追加到文本区中。以下是其中相应“追加”按钮事件的方法。

public void actionPerformed(ActionEvent e){

if(e.______.equals("追加")){

String result=(String)putDialog(null,"请输入信息",

"输入对话框",_MESSAGE, null, null,null);

dispArea.______(result + " ");

}

getActionCommand()

}

append

1010-28.某小应用程序窗口中有一个文本框,一个8行10列的文本区以及一个按钮,点击这个按钮时,在文本框中输入的内容会追加到文本区中。

import .*; import .*; import java,.*;

public class TextAPP extends Applet implements ActionListener {

JTextField input; JTextArea display; JButton append;

20 / 59

public void init() {

input = new JTextField(10);

display = new ;

append = new JButton("追加");

add(input); add(display); add(append);

tFocus(); eWrap(true);

ionListener(this);

}

public void actionPerformed(ActionEvent e),{

display. (t() +" ");

}

}

5.4 面板

综合应用:声明JPanel类的子类,创建JPanel对象

简单应用:声明JScrollPane类的子类,创建JScrollPane对象

1010-15.在Swing中,带有滚动条的面板的类名是______。JScrollPane

1101-15.在Swing中,面板有两种,一种是JPanel,另一种是__JScrollPane____。

5.5 布局设计

综合应用:FlowLayout,BorderLayout,Cardlayout,GridLayout布局设计策略设计界面

识记:null布局与setBounds方法

1201-24.请写出创建一个JPanel对象p,并为对象p设定GridLayout布局的代码。

JPanel p=new JPanel();

out(new GridLayout());

15.将容器区域分成东、南、西、北、中五个区域的布局类是_ BorderLayout _____。

5.以下是关于FlowLayout布局组件排列顺序的叙述,正确的是( )

A.从上到下排列 B.从左到右排列

C.从下到上排列 D.从右到左排列

1201-5.以下关于BorderLayout布局的叙述中,不正确的是( )

...A.把容器内的空间划分成5个区域

C.是框架窗口的默认布局

B.加入组件应该指明要放入的区域

D.一个位置可直接放多个组件

34.阅读下列程序,请用示意图画出程序运行时呈现的界面。

import .*;

import *;

21 / 59

import .*;

class MyPanel extends JPanel {

JButton button; JLabel label;

MyPanel(String s1, String s2) {

out(new GridLayout(2, 2));

button = new JButton(s1);

label = new JLabel(s2, );

add(button); add(label); add(new

JLabel());

}

}

public class Class1 {

public static void main(String args[]) {

JFrame mw = new JFrame("一个示意窗口");

e(400, 250);

Container con = tentPane();

out(new BorderLayout());

MyPanel panel1, panel2;

panel1 = new MyPanel("按钮1" ,"标签1");

panel2 = new MyPanel("按钮2", "标签2");

JButton button = new JButton("开始按钮");

(panel1, "North");(panel2, "South");

(button, "Center");

ible(true);

} }

1001-34.阅读下列程序,请用示意图画出程序运行时呈现的界面。

import .*;import .*;import .*;

class MyPanel extends JPanel{

JTextField textl,text2;

MyPanel(String sl,String s2) {

22 / 59

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(″一个示意窗口″);

e(350,150);

Container con = tentPane();

out(new BorderLayout());

MyPanel pl=new MyPanel(″文本框l″,″文本框2″);

MySubPanel p2=new MySubPanel(″文本框3″,″文本框4″,″文本框5″);

JTextArea text=new JTextArea(″这里是一个文本区″);

(pl,″North″); (p2,″South″);

(text,″Center″);mw.setVisible(true);

}

}

6 文本框和文本区

综合应用:声明和创建文本框,处理文本框事件和在文本框中输入输出数据

声明和创建文本区域,将文本区域放置于滚动面板,在文本框中输入输出数据

23.请写出程序处理文本框输入结束事件(回车)添加监视器的方法,以及监视器类必须实现的接口方法。

参考答案:(P102)为对象添加监视器的方法是addActionListener;类必须实现的方法是

23 / 59

public void actionPerformed(ActionEvent e)。

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

import .*;import .*;import .*;

public class Classl 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);

ionListener(this);

}

public void actionPerformed(Action Event e){

long n;

if(rce()==text1){

在第一个文本框输入数据,输入结束n=ong(t());

(回车)后,(2分)在第二个文本框输出该t(f(n*n));

整数的平方。(2分)

}

}

}

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

import .*; import .*;

import .*; import .*;

public class Classl 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);

t(new Font ("Courier", 1, 20));

ionListener(this);

}

public void actionPerformed(ActionEvent e) {

int a,b,c;

a=nt(Text t());

b=nt(t());

c=nt(t());

if (a + b < c || b + c < a || c + a < b) {

24 / 59

Label2 .setForeground (Color. red );

t(new Font ("Courier ", 1, 24));

t("No.");

} else {

eground();

t(new Font ("Courier ", 2, 24));

t(" Yes.");

}

}

}

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

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

import .*;import .*;

import .*; import .*;

class Panel1 extends JPanel{

JTextField text1, text2, text3;JButton 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);

(ton).addActionListener(this);

(ton). addActionListener(this);

}

public void actionPerformed(ActionEvent e){//这里是你要编写的代码

2:参考答案:long n1,n2;(1分)

if(rce()=(ton)){(3分)

n1=ong(t());

n2=ong(t());

t(f(n1+n2));

}

else if(rce()=(ton)){(2分)

n1=ong(t());

25 / 59

n2=ong(t());

t(f(n1-n2));

}

注:将1写成text1,2写成text2整体扣1分。

[解析]本题考核知识点是图形界面设计、JPanel、JTextField、JButton及其事件的处理。

在方法体中的代码类似于34小题。容器的嵌套不要忽略了。

0901-38.设计实现以下形式布局的Java小应用程序。

注1:其中空白格是文本框,用于输入对应的内容。

注2:这里给出的是程序的一部分,你要编写的是方法MyWindow(String s)。

import .*; import .*; import .*;

class MyWindow extends JFrame{

JTextField textl,text2,text3,text4;

public MyWindow(String s){//这个方法是你要编写的

super(s);

Container con=getContentPane();

out(new GridLayout(2,4));

JLabel label1=new JLabel("学 号");

JLabel label2=new JLabel("姓 名");

JLabel label3=new JLabel("考试成绩");

JLabel label4=new JLabel("平时成绩");

text1=new JTextField();

text2=new JTextField();

text3=new JTextField();

text4=new JTextField();

(label1);

(text1);

(label2);

(text2);

(label3);

(text3);

(label4);

(text4);

ible(true);

}

}

26 / 59

public class Class1 extends Applet{

MyWindow myWindow;

public void init(){ myWindow=new MyWindow("一个小应用程序"); }

}

38.以下程序的界面有一个按钮button、一个文本区textA和一个文本框textF。程序运行时,在文本区中输入数字序列,单击按钮,则在文本框中显示数字序列的和。以下是要求你编写的actionPerformed(ActionEvent e)方法的部分代码。

提示:本题来源于例5.9,但考试内容主要小涉及4.2字符串

public void actionPerformed(ActionEvent e) {

if (rce() == button) {

String s = t(); double sum =0;

StringTokenizer fenxi = new StringTokenizer(s, " ,n");

//请在以下位置编写代码

int n=okens();(1分)

int i=0;(1分)

while(eTokens()){(1分)

String s1=ken();(1分)

sum=sum+f(s1).doubleValue();(1分)

}

t(""+sum);(1分)

1010-38.一个小应用程序,界面如下图所示,其功能为实现摄氏温度和华氏温度的相互转换。以下是程序的大部分,请编写其中的监视器方法。

注:华氏温度(F)=摄氏温度(C)×9/5+32

import .*; import .*;

import .*;

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);

tFocus();

ionListener(this);ionListener((this);

27 / 59

}

public void actionPerformed(ActionEvent e) {

//请在以下位置编 28 / 59

写代码

}

}

第六章 图形界面设计(二)

6.1 选择框和单选按钮

综合应用:声明和创建选择框、单选按钮,选择框和单选按钮分组,处理选择项目事件

16.使用单选按钮的方法是将一些单选按钮用_________对象分组,使同一组内的单选按钮只允许一个被选中。 ButtonGroup

29.这是一个处理选择项目事件的子窗口类。窗口中有2个选择框,当选中某个选择框时,文本框将显示选择框对应的信息。

class MyWindow extends JFrame implements ItemListener {

JTextField text;

JCheckBox boxl, box2;

MyWindow(String s) {

_________; super(s)

Container con = tentPane();

ation(100, 100); e(400, 200);

text = new JTextField(10);

box1 = new JCheckBox("A计算机", false);

box2 = new JCheckBox("B计算机", false);

out(new GridLayout(3, 2));

( new JLabel("计算机产品介绍", ));

add(new JLabel("计算机2选1", ));

(box1); (box2); (text);

box1 .addItemListener(this);

mListener(this);

ible(true); ();

}

public void itemStateChanged( _________e){ ItemEvent

29 / 59

if(mSelectable() == box1) {

text. setText("A公司生产");

} else if(mSelectable() == box2) {

text. setText("B公司生产");

}

}

}

29.以下程序段是选择项目事件处理程序的样例,一个由3个单选按钮组成的选择组被定义为一个面板子类Panel,当某个按钮被选中时,按钮监视程序在类MyWindow的一个文本框中输出某个按钮被选中的字样。以下是类Panel的定义。

class Panel extends JPanel implements {

static JRadioButton box[];

ButtonGroup g;

Panel(String radioNameList[]) {

box=new JRadioButton[];

setLayout(new GridLayout(1, ));

g=new ButtonGroup();

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

box[i] = new JRadioButton(______,false);

(box[i]);add(box[i]);box[i].addItemListener(this);

}

radioNameList[i]

}

isSelected()

public void itemStateChanged(ItemEvent e){

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

if(box[i]._______) {

t(box[i].getLabel()+"被选中!");

}

}

}

}

1010-29.某小应用程序有一个由3个单选按钮组成的颜色选择组,当选中某种颜色时,窗口的背景颜色将作相应的变化。这里给出的是窗口子类My Window的定义的框架以及其构造函数的定义。

class MyWindow extends JFrame implements {

MyWindow(String s) {

super(s);

Container con = tentPane();

ItemListener

30 / 59

out(new GridLayout(3,2));

ation(100, 100); e(400, 400);

panel 1 = new Panel l ();

label l = new JLabel("改变前景颜色",);

(label 1 ); con. ;//add(panel1)

panel 1 .box 1 .addltemListener(this);

panel 1 .box mListener(this);

panel 1 .box mListener(this);

this. setVisible (true); ();

}

}

6.2 列表和组合框

简单应用:声明和创建列表、组合框

1210-16. 列表在界面中表现为列表框,是___JList___类或它的子类的对象。

1010-16.组合框(JComboBox)是______的组合。文本框和列表

1101-6.鼠标单击列表中某个选项事件的相关接口是( )

tionListener lectionListener

Listener ionListener

1110-24.请写出JComboBox对象上可能发生的两种事件类型的名字。

6.3 菜单

综合应用:设置菜单和菜单项、处理菜单和菜单项事件

6.以下关于菜单的叙述中,正确的是( )

A.菜单分三级定义,最高一级的是菜单条,菜单条中放菜单,菜单中放菜单项

B.菜单分三级定义,最高一级的是菜单,菜单中放菜单条,菜单条中放菜单项

C.菜单分两级定义,最高一级的是菜单,菜单中放菜单项

D.菜单分两级定义,最高一级的是菜单条,菜单条中放菜单项

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

……

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

……

public void actionPerformed(ActionEvent e){

if(rce()==singingItem)

t(e.________()+ "菜单项被选中!");

}

生成菜单条是用类JMenuBar的构造方法JMenuBar(),把菜单条放入JFrame窗口中用setJMenuBar()方法;生成菜单用类JMenu的构造方法

JMenu()或JMenu(String s);生成菜单项用类JMenuItem的构造方法

JMenuItem()或JMenuItem(String s)。在菜单事件中获得事件源的方法是getSource(),获得事件源文字信息的方法是getActionCommand()。

31 / 59

1001-29.以下是子窗口中设置一个菜单条类的定义。类的构造方法根据指定的窗口名称和菜单表设置菜单条,菜单和菜单项,当选中某个菜单项时,在文本框中显示相应菜单项被选中的信息。

class MenuWindow extends JFrame implements ActionListener {

public static JTextField text;

public MenuWindow(String s,String menuList[][]) {

setTitle(s);

Container con=tentPane();

out(new BorderLayout());

ation(100,100); e(300,100);

JMenuBar menubar=new JMenuBar();

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

JMenu menu=new JMenu(menuList[i][0]);

for(int j=1;j

JMenultem anltem=new JMenultem(menuList[i][j]);

anltem.setActionCommand(menuList[i][j]);

anltem.___ ActionListener(this)_____;(anltem);

}

menubar.__ add(menu)________;

}

text=new JTextField();setJMenuBar(menubar);

(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);

32 / 59

ible(true);

}

}

35.阅读下列程序,请回答以下问题:

(1)该程序的菜单条中共有几个菜单项?

(2)单击哪个菜单项,可以打开一个对话框?

(3)该对话框是强制型还是非强制型?

(4)该对话框中显示的是什么内容?

Import .*;import .*;

import .*; import .*;

class MyDialog extends JDialog {

MyDialog(JFrame F, String s) {

super(F, s, false); Date date = new Date();

String t = ng(); JLabel text = new JLabel(t);

add(text); setSize(200,100); setVisible(true);

}

}

public class MenuDemo extends JFrame implements ActionListener {

JMenuBar menubar; JMenu action;

JMenuItem show, set, quit;

public MenuDemo() {

menubar = new JMenuBar(); setJMenuBar(menubar);

action = new JMenu(''操作''); (action);

show= new JMenuItem(''显示''), (show);

set = new JMenuItem("设置"); (set);

arator(); quit = new JMenuItem("退出");

(quit); ionListener(this);

ionListener(this); ionListener(this);

setSize(300,300); setVisible(true);

}

public void actionPerformed(ActionEvent e) {

if(rce() == show) {MyDialog diag = new MyDialog(this, "信息");}

else if(rce()== set) { le("菜单演示");}

else if(rce() == quit){ (0); }

}

public static void main(String[] args) {new MenuDemo();}

}

(1)3个菜单项(1分)

(2)“显示”菜单项(1分)

(3)非强制型对话框(1分)

(4)显示当前事件(1分)

33 / 59

6.4 对话框

简单应用:声明和创建对话框

1010-24.在Swing中,对话框有几种?并请写出它们的主要区别。P121

1101-16.对话框的默认布局是____BorderLayOut_____。

1110-16.强制型对话框强制对话过程 ____不能中断___ ,直至对话过程结束,才让程序响应对话框以外的事件。

1210-6. 以下不是..JDialog类构造方法的是

A. JDialog( )

C. JDialog(JFrame f, String s)

B. JDialog(boolean b)

D. JDialog(JFrame f, String s, boolean b)

16.在构造非强制对话框时,所使用的构造方法是JDialog(f,s, ___false__),其中f为对话框所依赖的窗口,s为对话框的标题。

1001-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); out(new GridLayout(3,2));

e(200,100); setModal(false);

//请在以下位置续写其余代码

答: done=new JButton("确定");

ionListener(this);

(title);(done);

(new JLabel("学号"));(textl);

(new JLabel("姓名"));(text2);

34 / 59

setVisible(true); }

public void actionPerformed(ActionEvent e) {

//输入结束按确定按钮后,将对话框中输入的学号和姓名在它依赖窗口的文本框中显示。

t(″学号:″+t()+″ 姓名:″+t());

setVisible(false);dispose();

}

}

6.5 滚动条

简单应用:声明和创建滚动条

1404-1 6.一个水平滚动条对象的初始值是1 50,滑块的宽是8个像素,表示的范围是[0,300]。

创建这样的滚动条对象时,提供的最后2个参数依次是______。0,300

35.阅读以下程序,请写出该程序的功能。

import .*; import .*;import .*;

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);

ustmentListener(this);

text=new JTextField("",20);

con. add(text);(myBar);

ible(true);

}

public void adjustmentValueChanged(AdjustmentEvent e){

MyScrollBar myBar=(MyScrollBar)ustable();

t(""+ue());

}

}

public class Class1{

public static void main(String[]args){

MyWindow myWindow=new MyWindow("text5_4");

}

}

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

import .*; import .*; import .*;

35 / 59

class MyScrollBar extends JScrollBar {

public MyScrollBar(int init, int len, int low, int high){

super(NTAL, 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 = tentPane();

out(new GridLayout(2,1));

e(250, 100); ation(100, 100);

djustmentListener(this);

text= new JTextField("移动滚动条的滑块",20);

(text); (tempBar); ible(true); ();

}

public void adjustmentValueChanged(AdjustmentEvent e){

MyScrollBar myBar=(MyScrO11Bar)ustable();

t("选择的值是:"+ue());

}

}

public class Test35 {

public static void main(String[] args) { new MyWindow("滚动条示意程序"); }

}

1001-16.一个水平滚动条对象的初始值是50,滑块的宽是10个像素,表示的范围是[0,250]。

创建这样的滚动条对象时,提供的5个参数依次是__________。(P125)NTAL,50,10,0,250

23.请写出将文本区text放置于滚动面板jsp,并将滚动面板jsp添加到JFrame窗口myFrame的Java语句。

36 / 59

TextArea text=new TextArea();

JScrollPane jsp=new JScrollPane(text);

tentPane().add(jsp);

6.6 鼠标事件

识记:鼠标事件类型、处理接口、处理方法

1404-6.MouseMotionListener接口能处理的鼠标事件是

A.按下鼠标键 B.鼠标点击C.鼠标进入 D.鼠标移动

6.用于判定鼠标右键操作的常量是

A.BUTTON1_MASKB.BUTTON2_MASKC.BUTTON3_MASK D.BUTTON4_MASK

1201-16.注册鼠标点击事件监视器的方法是 addMouseListener(监视器) 。

语言为处理鼠标事件提供两个接口:_________接口和MouseMotionListener接口。

MouseListener

6.MouseListener接口不能处理的鼠标事件是 ( D )

..A.按下鼠标左键

C.鼠标进入

B.点击鼠标右键

D.鼠标移动

1010-6.在以下供选择的方法中,属于接口MouseMotionListener的方法是( )

eleased()

xited()

ntered()

oved()

1110-6.在以下选项中,属于MouseListener接口的方法是 ( )

A.mouseDoubleClicked(MouseEvent)

C.mouseMoved(MouseEvent)

ragged(MouseEvent)

ressed(MouseEvent)

28.以下小应用程序能响应鼠标按动的事件,当鼠标在正文区的某个位置被点击时,就在该位置显示一个记号“×”,程序限制最多保留最新20个位置。

import .*; import .*;

import .*; import .*;

class MyPanel extends JPanel {

public void print(Graphics g, int x, int y)(

or();

ne(x-5, y-5, x+5, y+5);

37 / 59

ne(x+5, y-5, x-5, y+5);

}

}

class MyWindow extends JFrame implements MouseListener{

final int MaxMarks = 20;

int currentMarks = 0, markCount = 0;

Point marks[] = new Point[MaxMarks];

MyPanel panel;

MyWindow(){

ation(100, 100);

e(300, 300);

Container con = tentPane();

panel = new MyPanel(); (panel);

_________(this); addMouseListener

ible(true);

}

public void paint(Graphics g){

int i;

ect(0,0, th(), ght());

for(i =0;i < markCount; i++) {

_________(g, marks[i].x, marks[i].y); panel .print //注意上下文

}

}

public void mousePressed(MouseEvent e){ }

public void mouseReleased(MouseEvent e){ }

public void mouseEntered(MouseEvent e){ }

public void mouseExited(MouseEvent e){ }

public void mouseClicked(MouseEvent e){

marks[currentMarks] = new Point((), ());

if(markCount < MaxMarks)markCount++;

38 / 59

currentMarks = (currentMarks+ 1)%MaxMarks;

repaint();

}

}

public class Class1 extends Applet {

public void init(){

MyWindow myWndow = new MyWindow();

}

}

1001-28.以下程序创建了一个窗口,然后在窗口内显示″Hello,World! ″。

import .*; import java.awt*;

public class HelloWorld {

public static void main(String[ ]ares) {

TextFrame frame=new TextFrame();

aultCloseOperation(_ON_CLOSE);

frame. ____ setVisable(true)____;

}

}

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. ___ paintComponent(g)_____;

ring(″Hello,World! ″,x,y);

39 / 59

}

public int x=100; public int y=100;

}

6.7 键盘事件

简单应用:键盘事件处理方法

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

import .*:import .*;import .*

public class Class 1 extends Applet implements KeyListener{

JButton button=new JButton(″开始″);

JTextArea text=new JTextArea(5,20);

public void init() {

Listener(this); add(button);add(text);

}

public void keyPressed(KeyEvent e){

int t=Code();

if(t>=_A&& t<=_Z) {

(″ ″+(char)t);

}

}

public void keyTyped(KeyEvent e){}

public void keyReleased(KeyEvent e){}

}

答:程序功能:从键盘输入字符如果是大写字母A-Z,则显示在文本区中

16.处理键盘事件的Java程序,要实现的接口是______。KeyListener

40 / 59

第七章 图形,图像与多媒体

7.1 绘图基础

识记:Graphics类的基本功能,坐标系统

领会:利用Graphics2D类设置绘图状态属性

简单应用:着色和设置字体

7.一般的绘图程序要定义一个JPanel子类。在JPanel子类中还要重定义一个方法,在这个方法中调用绘图方法,绘制各种图形。要重定义的方法是( )

() omponent() t() ()

语言规定,程序绘图区域的坐标原点位于整个区域的( )

A.左上角B.右上角C.左下角 D.右下角

1001-17.要在JComponent 子类的组件中绘图,应重写__________方法。paintComponet()

1404-17.某应用程序定义的类C17是JPanel的子类,在类C17的对象中需要绘图,则在类

C17中应重写的方法是 ______。paintComponet()

1010-17.在某个组件中绘图,一般应该为这个组件所属的子类重写______方法。paint()

7.以下所述内容全部是字型要素的是( )

A.字体、字形和大小 B.字体、风格和字号 C.字形、风格和字号 D.字形、颜色和字号

7.以下不属于文字字型要素的是 ( A )

...A.颜色 B.字体C.风格 D.字号

1404-7.以下术语中,属于文字字型风格属性的是

A.颜色 B.宋体C.斜体 D.字号

17.在Java语言中,用类Font对象设置字型。如果要设置的字型是:细明体、正常风格(),12磅字号,构造这样要求的Font对象fnA的代码是_________。Font

fnA=new Font(“细明体”,.12)

17.某个绘图方法设置成“异或模式”绘图,并用黄色作为异或模式设定的绘图颜色。如果当时背景色为红色,并用红色绘制线段,则线段的实际颜色是_________。(P140)黄色

1101-17. Java语言的绘图模式有两种,它们是正常模式和_________

7.设置异或绘图模式的方法是

A.setXORMode() B.setPaintMode() C.XORMode() D.PaintMode()

7.2 绘图

简单应用:利用Graphics2D类对象绘制几何图形、绘制二次、三次曲线

41 / 59

综合应用:显示文字,绘制基本几何图形

24.请写出一条语句,能够绘制一条从点(20,30)开始,长为100像素的水平线段。设调用的对象是类型为Graphics的g。

(P140)ne(20,30,120,30);或ne(120,30,20,30);

25.请写出使用Graphics2D类声明并创建一个左上角为(20,30)、边长为50的正方形对象square的语句。

1404-24.已知Graphics对象g,获得Graphics2D对象g2d,然后,用圆角长方形类创建对象 circle,该对象的左上角坐标是(30,40),半径是50。请写出实现以上要求的Java代 码。

100-24.设已经有Graphics2D对象g2d, 请用Java语句绘制一个矩形rect,其左上角坐标是(20,30),宽是120,高是30。

Rectangle2D rect=new (20,30,120,30)

(rect);

1201-7.设已经有Graphics2D对象g2d,RoundRectangle2D对象rRect,绘制对象rRect的代码是( )

(rRect) undRect(rRect)

() undRect()

1201-17.在异或模式下绘图时,实际绘制的颜色是由当前正要绘制的颜色、原先绘制的颜色,以及 异或模式设定的颜色 作特定的运算确定的。

24.要用Graphics2D类的方法画一个图形,首先要把参数对象g强制转换成Graphics2D对象;然后,用图形类提供的静态方法Double()创建一个图形对象;最后,以图形对象为参数调用Graphics2D对象的draw()方法绘制这个图形。请写出用这样的方法绘制一条线段的程序段,线段的两个端点分别是(10.0,10.0)和(30.0,30.0)。

Graphics2D g2d=( Graphics2D) g;

Line2D line=new (10,20,30,40);

(line)

7.设已经有Graphics2D对象g2d,Rectangle2D对象r,绘制对象r的代码是( )

A.(r)B.ct(r)C.() D.ct()

1110-7.设已经有Graphics2D对象g2d,Line2D对象line,绘制对象line的代码是( )

A.g2d.draw(1ine) B.g2d.drawLine(1ine) C.1ine.draw()D.1ine.drawLine()

1110-17.在Graphics类中,用于在指定的位置显示字符串的方法是

_____darwString()__ 。

7.3 图像处理基础

42 / 59

简单应用:显示图像和图像缓冲

1210-17. Java语言的图像处理功能被封装在___ Image _______类中。

30.这是一个播放幻灯片的小应用程序中的paint()方法。设幻灯片已由小应用程序的init()方法装入内存,并存放于myImage数组中,幻灯片的张数放于变量num中,paint()方法要播放的幻灯片号是int currentImage = 0;

final int num = 30;

Image [ ] myImage = new _________ [num]; Image

……

public void paint(Graphics g) {

if ((mylmage[currentImage]) != null)

g. _________ (myImage[currentImage], 10, 10, drawImage

myImage [currentImage].getWidth(this),

myImage [currentImage].getHeight(this), this);

}

1001-30.以下是一个用鼠标自由作画的小应用程序。最简单的方法是根据鼠标所在位置画点,跟随鼠标的移动,不断画圆点,就能实现用鼠标作画。

import java.awt.*;

import java..*;

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();addMouseMotionListener(this);

}

public void paint(Graphics g){

if(x!=-1&&y!=-1) {

or(color);al(x,y,1ineSize,lineSize);

}

}

public void mouseMoved(MouseEvent e){}

public void mouseDragged(MouseEvent e){

43 / 59

x=();y=e.getY();___ repaint()______;

}

public void ______ update()__ (Graphics g){ paint(g);} ;

}

1010-30.某小应用程序的界面有两个按钮,点击“画圆”按钮,程序在窗口画一个圆,点击“画矩形”按钮,程序在窗口画一个矩形。

import .*; import .*;

import .*;import .*;

public class Classl extends Applet implements ActionListener {

boolean c = false; int r = 50,a = 50, b = 50;

JButton bl, b2;

public void init(){

setSize(200, 200); setBackground();

b1 = new JButton("画 圆"); b2 = new JButton("画矩形");

ionListener(this); ionListener(this);

add(b1); add(b2); setVisible(true);

}

public void (Graphics g){

ect(70, 100, 130, 200);

or(Color. red);

if(c) undRect(70, 100, r, r, r, r);

else ct(70, 100, a, b);

}

public void update(Graphics g){ paint(g); }

public void actionPerformed(ActionEvent e){

if(rce()==b1) { c = true; }

else if(rce()==b2){ c = false; }

}

}

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

import .*; import .*;

import .*; import .*;

public class Test34 extends Applet implements ActionListener {

JTextField text;int r; JPanel panel;

public void paint(Graphics g){

44 / 59

Graphics gc = phics();

ect(0,0, th(), ght());

or(); al(10, 10, r, r);

}

public void init() {

text = new JTextField(10); panel = new JPanel();

setSize(200, 100); setLayout(new GridLayout(2,1));

add(text); add(panel); ionListener(this);

}

以文本框输入的public void actionPerformed(ActionEvent e) {

数字为半径,(1if (rce() == text) {

分)以(10,10)r = nt(t());

为左上角,(1分)repaint();

填充一个红色(1}

分)的圆。(1分)

}

}

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

import .*; import .*;

public class Test36 extends implements Runnable{

Thread myThread = null;

double seta=0.0;

public void start() {

setSize(500,400);

if(myThread=null){ myThread=new Thread(this); ();}

}

public void run() {

while(myThread!=null) {

try {(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*(3.1415926/180.0*seta));

int y0=200+(int)(r*(3.1415926/180.0*seta));

or(); al(x0,y0,10,10);

}

45 / 59

}

答:红色、顺时针画圆

7.4 多媒体基础

简单应用:播放幻灯片、动画、音乐的方法

1010-7.小程序要播放音频文件,可使用类( )

lip Clip

17.在Java语言中,要播放音频文件可以使用__________类。

1101-24.请写出lip控制声音播放的三个方法。

Loop();stop();play()

第八章 多线程

8.1 线程的基本概念

识记:线程与进程的区别,线程的各种状态、优先级,线程间的互斥与同步

1210-8. 阻塞状态的线程在消除引起阻塞的原因后,会转入

A. 死亡状态 B. 开始状态C. 就绪状态 D. 运行状态

18.线程从阻塞状态恢复到就绪状态,有三种途径:自动恢复、用resume()方法恢复和用_________方法恢复。notify()或notifyAll()

18.当线程调用resume()方法后,就进入__________状态。

1201-18.多线程程序设计中,让执行临界段程序时等待的线程结束等待,通常使用的方法有resume()、notify()或者 notifyAll() 。

1001-18.当线程使用完临界段后,为了使等待的线程恢复工作,需要调用的方法是__________。Notify()

1110-18.在Java中,线程的调度策略采用___抢占式____,优先级高的线程比优先级低的优先执行。

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

A.0 B.1 C.10 D.11

1404-8.以下能作为表示线程优先级的数值,并且级别最低的是

A.0 B.1 C.1 5 D.1 6

1010-8.以下是关于线程的叙述,正确的是( )

A.多线程的使用可以提高设备的平行工作能力,但是使系统管理变得复杂

46 / 59

B.同一个进程下的线程都有自己的状态、专用数据段和独立的内存资源

C.线程是能独立运行的程序

D.进程的执行效率比线程的执行效率高

1101-8.以下关于线程互斥和同步的叙述中,正确的是( )

A.多线程互斥使用各自资源的程序段,在操作系统中称为临界段

B.临界段的作用是使某线程能够使用其它线程的资源

C.可以使用notify()方法通知等待线程结束等待

D.线程的互斥和同步可以很好地解决死锁问题

1101-18.当线程处于新建状态后,调用了start()方法,该线程就处于___就绪__状态。

1110-8.设Thread对象thd的优先级为7,thd又创建了另一个Thread对象chd,如果未对chd 的优先级进行修改,则chd的优先级为 ( )

A.1 B. 5 C.7 D. 10

8.2 Thread类和Runnable接口

综合应用:用Thread子类实现多线程,用Runnable接口实现多线程

8.用Thread子类实现多线程的步骤顺序是( )

A.声明Thread类的子类,创建Thread子类的实例,让线程调用start()方法

B.声明Thread类的子类,在子类中重新定义run()方法,创建Thread子类的实例

C.创建Thread子类的实例,让线程调用start()方法

D.声明Thread类的子类,在子类中重新定义run()方法,创建Thread子类的实例,让线程调用start()方法

18.程序员用Java语言编写多线程应用程序,程序员能控制的关键性工作有两个方面:一是编写线程的_________方法;二是建立线程实例。run()

8.用Runnable接口实现多线程的主要工作是( )

A.声明实现Runnable接口的类,在类内实现run()方法,让线程调用start()方法。

B.声明实现Runnable接口的类,在类内实现run()方法,在类内声明线程对象,在init()方法中创建新线程,启动新线程。

C.声明实现Runnable接口的类,在类内实现run()方法,在类内声明线程对象,在Init()方法或start()方法中创建新线程,在start()方法中启动新线程。

D.声明实现Runnable接口的类,在类内实现run()方法,在init()方法中创建新线程,在start()方法中启动新线程。

8.在以下供选择的方法中,能让线程从阻塞状态恢复到就绪状态的方法是( )

A.start() B.init()

C.resume() D.run()

1010-25.请写出用Runnable接口实现多线程的主要工作。

1110-25.请写出线程从阻塞状态恢复到就绪状态的三种途径。

47 / 59

8.3 线程互斥和同步

识记: 线程间的互斥与同步

简单应用: 线程互斥和同步的实现方法

1010-18.多线程互斥使用______的程序段,在操作系统中称为临界段。共享资源

8.用来定义临界段,能对共享对象的操作上锁的关键字是

A.static B.share C.serialize D.synchronized

1201-8.以下关于线程互斥和同步的叙述中,正确的是( )

A.临界段是线程互斥使用资源的程序段 B.临界段能使线程使用其它线程的资源

C.互斥和同步能很好地解决死锁问题 D.可用notify()方法让等待线程结束等待

1210-18. 线程之间的相互等待被称为线程的____同步______。

1404-18.当线程进入临界段后,发现需要与别的线程进行同步,则要调用的方法 是 ______。

Wait()

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

class ShareDataManager{

int data=0;

________void modiData(int delta){

在Java语言中,使用关键字synchronized定义临if(delta>=0){

界段,能对共享对象的操作上锁,使得某一时刻data+=delta;

只允许一个线程使用这个共享对象。但是为了同}else {

while(data <delta){

步,可在临界段中使用wait()、notify()和try{n("发生等待!");

notifyAll()方法。wait()让线程一直等待,notify()wait();

方法通知第一个处于等待的线程结束等待。}catch(InterruptedException e){ }

notifyAll()方法使所有处于等待的线程都结束等}

data-=delta;

待,重新竞争CPU。

}

_________;

}

ShareDataManager(int ititData){data=initData;}

}

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

import .*;import .*;

public class Class1 extends implements Runnable{

Thread redBall;Graphics redPen;

int rx=0,ry=0;

public void init(){

setSize(250,200);

redBall =new Thread(this);

redPen=getGraphics();

redPen. setColor();

setBackground();

}

public void start(){ (); }

public void run(){

while(true){

48 / 59

if(tThread()==redBall){

rx=(int)(80*());

ry=(int)(80*());

red or();

red al(100+rx,100+ry,10,10);

try{(500);}

catch(InterruptedException e){}

or();

al(100+rx,100+ry,10,10);

}

}

}

}

参考答案:随机位置显示一个小圆,程序采用背景色重画的办法,清除前一次显示的小圆。

本题考核知识点是图形绘制和线程31.以下定义的类ShareData用于管理多个线程共享数据val。为了保证对共享数据val修改的完整性,线程对val的操作需要互斥,类ShareData中定义的方法modiData()就是供共享val的线程修改val的方法。程序共有20个线程共享val,有些减少val,有些增加val。

public class Class1 {

public static void main(String args[]){

ShareData mrc = new ShareData(50);

Thread[] aThreadArray = new Thread[20];

n("t刚开始的值是:"+());

n("t多个线程正在工作,请稍等!");

for(int i = 0; i < 20; i++) {

int d = i % 2 == 0 ? 50 : -30;

aThreadArray[i] = new Thread(new MyMultiThreadClass(mrc, d));

aThreadArray[i].start();

}

WhileLoop ://等待所有线程结束

while(true){

for(int i = 0; i < 20; i++)

if(aThreadArray[i]. isAlive() ___)continue WhileLoop;

break;

}

n("t最后的结果是: "+());

}

49 / 59

自考04747Java语言程序设计(一)自学辅导资料

本文发布于:2024-01-28 11:46:07,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/17064135677188.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:方法   程序   线程   对象   事件   写出   按钮   数组
留言与评论(共有 0 条评论)
   
验证码:
排行榜

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23