java复习题库及答案

更新时间:2023-12-24 00:38:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

一、选择题

1.下面哪个JDK包提供的类和接口在使用时不需要用import语句引入? [A] java.util [B] java.io [C] java.applet [D] java.lang [E] javax.swing [F] java.awt [G] java.net [H] java.sql 2.下面哪个选项是java的解释器?

[A] java.exe [B] javac.exe [C] javah.exe [D] appletviewer.exe 3.下面描述中错误的是? [A] public类就是主类

[B] 对于application而言,主类是包含main方法的类。

[C] 在一个.java文件中,可以有多个类的定义,但只能有一个public类。 [D] 对于applet而言,主类是系统Applet类的扩展类。 4.下面哪个选项不是java语言合法的标识符?

[A] $mail2 [B] 3$mail [C] Abcde [D] _mail_ 5.下面哪条语句在编译时不会出现错误或警告?

[A] float f=123.23; [B] int a=123.23f; [C] boolean b=null; [D] String s=null; 6.有如下语句: int x=1; int a=(x>3)?5:2;

赋值后a的值是? [A] 5 [B] 2 [C] true [D] false 7.下面代码的运行结果是什么? int i=2; switch (i){ case 0:

System.out.println(\ break; case 1:

System.out.println(\ case 2:

System.out.println(\ default:

System.out.println(\ }

[A] two [B] two, default [C] zero,one, two, default [D] default 8.编译运行下面代码的结果是什么? class Q{

public static void main(String args[]){ int anar[]={1,2,3};

System.out.println(anar[2]); } }

[A] 1 [B] 2 [C] 3 [D] 0 9.编译运行下面代码的结果是什么? interface A{ int a=50;

public void amethod(); }

class B implements A{

public static void main(String args[]){ System.out.println(a);

} }

[A] 运行时输出50 [B] 运行时输出0 [C] 编译时提示有错误 10.编译运行下面代码的结果是什么? public class MyClass{ static int i;

public static void main(String args[]){ System.out.println(i); } }

[A] 提示变量i没有被初始化 [B] null [C] 0 [D] 1 11.下面哪个选项的代码在编译时有错误或警告? [A] /*This is a comment */ package MyPackage; import java.awt.*; class MyClass{}

[B] package MyPackage; import java.awt.*; class MyClass{} [C] import java.awt.*; package Mypackage; class Myclass {}

12.以下输出语句的输出结果是? int a[][]={{2},{3,3},{4,4,4}};

System.out.println(a.length+“ ” +a[1].length);

[A] 2 2 [B] 3 2 [C] 3 1 [D] 1 2

13.给出如下代码: class Test{

private int m;

public static void fun() { // some code... } }

如何使成员变量m 被函数fun()直接访问? [A] 将private int m 改为protected int m [B] 将private int m 改为 public int m

[C] 将private int m 改为 private static int m [D] 将private int m 改为 int m 14.以下输出语句的输出结果是?

String str=\ String str1=\ System.out.println(str.regionMatches(4,str1,6,1)); [A] true [B] false [C] 1 [D] 0

15.编译 Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为()

A..java B..class C..html D..exe 16.设 x=1, y=2, z=3,则表达式 y+=z--/++x 的值是:() A.3 B.3.5 C.4 D.5 17.设a=8,则表达式a>>>2的值是:()

A.1 B.2 C.3 D.4 18.下面程序段的输出结果是() String MyStr = “Hello,”; MyStr = MyStr+“Guys!”;

System.out.println(MyStr);

A.Hello,Guys! B.Hello,

C.Guys! D.该程序段有语法错误 19.下面语句哪个是正确的?()

A.char='abc' B.long l=0xfff C.float f=0.23 D.double=0.7E-3 20.下面语句段的输出结果是什么?() int i=9; switch (i) { default:

System.out.println(“default”);

case 0:

System.out.println(“zero”); break; case 1:

System.out.println(“one”); case 2:

System.out.println(“two”); }

A.default B.default,zero C.error default clause not defined D.no output displayed

21.当编译和运行下列程序段时,会发生什么?() class Base {}

class Sub extends Base {} class Sub2 extends Base {} public class CEx{

public static void main(String argv[]){ Base b = new Base(); Sub s = (Sub) b; } }

A.通过编译和并正常运行。 B.编译时出现例外。 C.编译通过,运行时出现例外。 22.如果类能被所属包中的类访问,也可以被其它包中的类访问,那么应使用哪个限定词?()

A.public B.private C.protected D.transient 23.下面的哪个选项是正确的?() class ExSuper{

String name;

String nick_name;

public ExSuper(String s,String t){ name = s;

nick_name = t; }

public String toString(){ return name; } }

public class Example extends ExSuper{ public Example(String s,String t){ super(s,t); }

public String toString(){

return name +“a.k.a”+nick_name; }

public static void main(String args[]){

ExSuper a = new ExSuper(“First”,“1st”); ExSuper b = new Example(“Second”,“2nd”); System.out.println(“a is ”+a.toString()); System.out.println(“b is ”+b.toString()); } }

A.编译时会出现例外。 B.运行结果为: a is First b is Second C.运行结果为: a is First

b is Seconda.k.a2nd D.运行结果为:

a is Firsta.k.a1st b is Second a.k.a2nd

24.请问所有的异常类皆继承哪一个类?()

A.java.io.Exception B.java.lang.Throwable C.java.lang.Exception D.java.lang.Error 25.以下说法中,错误的是()

A.java语言源程序中可以有多个类的定义,但只能有一个主类,此主类是java程序运行的入口点

B.在应用程序中,主类为包含main方法的类

C.在applet中,主类为用户自定义的系统applet类的扩展类 D.主类就是public类

E.java语言源程序中可以有多个类的定义,但只能有一个public类,且类名要和java语言源程序文件名保持一致。

26.下面说法中,错误的是()

A.行注释以//开头 B.块注释以/*开始和*/结束

C.java编译器忽略注释后的语句或说明 D.javadoc注释不是java语言中的注释类型 27.下面java语言的标识符中,不合法的是()

A.classname B.$member C.56are D._variable 28.指定变量是一个类成员变量的访问修饰符是()

A.accessSpicifier B.static C.final D.protected 29.下面关于构造方法的描述,错误的是() A.能为构造方法指定返回值

B.当写类时不提供它的构造方法,运行系统会自动提供缺省的构造方法,此方法没有任何参数,方法体为空。

C.构造方法与类具有相同的名字

D.Java语言支持方法名重载,所以类可以有多个构造方法,他们共享同一个名字,靠参数的的类型和数目来区分

E.构造方法用于在创建对象时对对象进行初始化。 30.关于包的描述中,不正确的是()

A.java语言中包用来组织相关的类和接口,包在物理上是一个文件夹,逻辑上代表一个分类概念

B.一个程序文件中只能有一个package语句,package语句要放在import语句的后面 C.包内的类名唯一,但不同的包中可以有相同的类名 D.引用包中的类和接口时,使用import语句 31.关于接口,下面描述不正确的是()

A.java语言中禁止多继承属性,引入接口的目的是为了用简单有效的方法实现类似于多继承的特性

B接口中可以定义大量的常量和方法,但其中的方法只是一种声明,没有具体的实现,使用接口的类自己实现这些方法

C.接口可以使用extends关键字继承上级接口声明的方法和常量,继承是单继承 D.如果接口中定义了父接口中的同名方法和常量,则父接口中的同名方法被覆盖,同名常量被隐藏。

E.接口中的常量默认具有public、final、static属性;接口中的方法默认具有public、abstract属性

F.如果一个类声明实现一个接口,但没有实现接口中的所有方法,那么这个类必须是abstract类。

32.接口A的定义如下,指出下列哪个类实现了该接口?() interface A {

int method1(int i); int method2(int j); }

A.class B implements A { int method1() { } int method2() { } }

B.class B {

int method1(int i) { } int method2(int j) { } }

C.class B implements A { int method1(int i) { } int method2(int j) { } }

D.class B extends A {

int method1(int i) { } int method2(int j) { } }

33.下面程序段的执行结果是什么?() public class Foo{

public static void main(String[] args){ try{

return;}

finally{System.out.println(\; } } }

A.程序正常运行,但不输出任何结果。 B.程序正常运行,并输出“Finally”。

C.编译能通过,但运行时会出现一个例外。 D.因为没有catch语句块,所以不能通过编译。

34.指出正确的表达式

A.byte b=128 B.boolean isFull=null C.long l=0xfffL D.double=0.9239d 35.运行下列程序, 会产生什么结果()

public class X extends Thread implements Runable{ public void run(){

System.out.println(\ }

public static void main(String args[]) {

Thread t=new Thread(new X());

t.start(); } }

A.第一行会产生编译错误 B.第六行会产生编译错误 C.第六行会产生运行错误 D.程序会运行和启动 36.哪个关键字可以对对象加互斥锁?()

A.transient B.synchronized C.serialize D.static 37.下列哪些语句关于内存回收的说明是正确的?() A.程序员必须创建一个线程来释放内存 B.内存回收程序负责释放无用内存

C.内存回收程序允许程序员直接释放内存

D.内存回收程序可以在指定的时间释放内存对象 38.在java语言中,负责对字节代码解释执行的是()

A.垃圾回收器 B.编译器 C.解释器 D.多线程机制 39.下面属于合法java标识符的是:()

A._cat B.5books C.+static D.-3.14159 40.在java中,表示换行符的转义字符是:()

A.\\n B./f C.’n’ D.\\dd 41.下面程序段的输出结果是() String MyStr = “Hello,”; MyStr = MyStr+”Guys!”; System.out.println(MyStr);

A.Hello,Guys! B.Hello C.Guys! D.该程序段有语法错误

42.在java语言中,由java编译器自动导入,而无需在程序中用import导入的包是:() A.java.applet B.java.awt C.java.util D.java.lang 43.下面语句哪个是正确的?()

A.char='abc' B.long l=0xfff C.float f=0.23 D.double=0.7E-3 44.在java中,所有类的根类是:()

A.java.lang.Object B.java.lang.Class C.java.applet.Applet D.java.awt.Frame 45.在java中,用package语句说明一个包时,该包的层次结构必须是:()

A.与文件的结构相同 B.与文件目录的层次相同 C.与文件类型相同 D.与文件大小相同 46.下面叙述中,正确的是:() A.java语言的标识符是区分大小写的 B.源文件名可以与public类名不相同 C.源文件名其扩展名为.jar

D.源文件中public类的数目不限

47.下面构造方法的调用方式中,正确的是:() A.按照一般方法调用 B.由用户直接调用 C.只能通过new自动调用 D.被系统调用 48.在java中,能实现多重继承效果的方式是:() A.内部类 B.适配器 C.接口 D.同步

49.int型public成员变量MAX_LENGTH,该值保持为常数100,则定义这个成员的语句是:()

A.public int MAX_LENGTH=100 B.final int MAX_LENGTH=100

C.public const int MAX_LENGTH=100 D.public final int MAX_LENGTH=100 50.下列关于java application与applet的说法中,正确的是:() A.都包含main()方法 B.都通过“appletviewer”命令执行 C.都通过“javac”命令编译 D.都嵌入在HTML文件中执行 51.下面关于线程优先级的说法中,正确的是:()

A.线程的优先级是不能改变的 B.线程的优先级是在创建线程时设置的 C.在创建线程后的任何时候都可以设置 D.B和C

52.下面哪条语句在编译时没有错误或警告?

[A] float f=1.3; [B] char c=\ [C] byte b=257; [D] boolean b=null; [E] int i=10; 53.下面哪个选项的代码在编译时有错误或警告? [A] import java.awt.*; package Mypackage; class Myclass {}

[B] package MyPackage; import java.awt.*; class MyClass{}

[C] /*This is a comment */ package MyPackage;

import java.awt.*; class MyClass{}

54.下面哪个选项不是java语言的关键字或保留字? [A] if [B] then [C] public [D] while [E] float 55.下面哪个选项不是java语言合法的标识符?

[A] 2variable [B] variable2 [C] _whatavariable [D] _3$ [E] $anothervar 56.编译运行下面代码的结果是什么? public class MyClass{ static int i;

public static void main(String args[]){ System.out.println(i); } }

[A] 提示变量i没有被初始化 [B] null [C] 1 [D] 0 57. 编译运行下面代码的结果是什么? class Q{

public static void main(String args[]){ int anar[]={1,2,3};

System.out.println(anar[1]); } }

[A] 1 [B] 2 [C] 3 [D] 0 58. 编译运行下面代码的结果是什么? interface A{ int a=100;

public void amethod(); }

class B implements A{

public static void main(String args[]){ System.out.println(a); } }

[A] 运行时输出100 [B] 运行时输出0 [C] 编译时提示有错误 59.下面代码的运行结果是什么? int i=1; switch (i){ case 0:

System.out.println(\ break; case 1:

System.out.println(\ case 2:

System.out.println(\ default:

System.out.println(\

}

[A] one [B] one, default [C] one, two, default [D] default 60.下面哪个选项的代码在编译时有错误或警告? [A] int i=0;

if(i){

System.out.println(\ }

[B] boolean b1=true;

boolean b2=true; if(b= =b2){

System.out.println(\ }

[C] int i=1;

int j=2;

if(i= =1||j= =2)

System.out.println(\[D] int i=1;

int j=2;

if(i= =1 && j= =2)

System.out.println(\

61.当前目录下没有Hello.txt的情况下,运行以下程序的结果是什么? import java.io.*; class Mine{

public static void main(String args[]){ Mine m=new Mine();

System.out.println(m.amethod()); }

public int amethod(){ try{

FileInputStream dis=new FileInputStream(\ }catch (FileNotFoundException fne){

System.out.println(\ return -1;

}catch(IOException ioe){ }finally{

System.out.println(\ }

return 0; } }

[A] No such file found [B] No such file found ,-1 [C] No such file found, Doing finally, -1 [D] 0 62. 运行以下代码的结果是什么? class MyFor{

public static void main(String args[]){ outer: for (int i=1;i <3;i++) inner: for(int j=1; j<3; j++){ if (j==2)

continue outer;

System.out.println(\ } } }

[A] Value for i=1 Value for j=1 Value for i=2 Value for j=1 [B] Value for i=2 Value for j=1 Value for i=1 Value for j=1

[C] Value for i=1 Value for j=1 [D] Value for i=2 Value for j=1 63.以下代码的输出结果是什么? String s=new String(\ int iBegin=1; char iEnd=3;

System.out.println(s.substring(iBegin,iEnd));

[A] Bic [B] ic [C] icy [D] error: no method matching substring(int,char) 64.以下代码的输出结果是什么? System.out.println(4 | 3);

[A] 6 [B] 0 [C] 1 [D] 7 65.给出如下代码: class Test{

private int m;

public static void fun() { // some code... } }

如何使成员变量m 被函数fun()直接访问?

[A] 将private int m 改为protected int m [B] 将private int m 改为 public int m [C] 将private int m 改为 private static int m [D] 将private int m 改为 int m 66.下面哪个函数不是public void example(){...}的重载函数?

[A] public void example( int m){...} [B] public int example(){...} [C] public int example ( int m, float f){...}

67.下面哪条语句在编译时没有错误或警告?( )

[A] float f=1.3; [B] char c=\ [C] byte b=257; [D] boolean b=null; [E] int i=10; 68.下面哪个选项的代码在编译时有错误或警告? ( ) [A] import java.awt.*; package Mypackage; class Myclass {}

[B] package MyPackage; import java.awt.*; class MyClass{}

[C] /*This is a comment */ package MyPackage;

import java.awt.*; class MyClass{}

69.下面哪个选项不是java语言的关键字或保留字? ( ) [A] if [B] then [C] public [D] while [E] float 70.下面哪个选项不是java语言合法的标识符?( )

[A] 2variable [B] variable2 [C] _whatavariable [D] _3$ [E] $anothervar 71.编译运行下面代码的结果是什么? ( ) public class MyClass{ static int i;

public static void main(String args[]){ System.out.println(i); } }

[A] 提示变量i没有被初始化 [B] null [C] 1 [D] 0 72. 编译运行下面代码的结果是什么?( ) class Q{

public static void main(String args[]){ int anar[]={1,2,3};

System.out.println(anar[1]); } }

[A] 1 [B] 2 [C] 3 [D] 0 73. 编译运行下面代码的结果是什么? ( ) interface A{ int a=100;

public void amethod(); }

class B implements A{

public static void main(String args[]){ System.out.println(a); } }

[A] 运行时输出100 [B] 运行时输出0 [C] 编译时提示有错误 74.下面代码的运行结果是什么? ( ) int i=1; switch (i){ case 0:

System.out.println(\ break; case 1:

System.out.println(\ case 2:

System.out.println(\ default:

System.out.println(\ }

[A] one [B] one, default [C] one, two, default [D] default 75.下面哪个选项的代码在编译时有错误或警告? ( ) [A] int i=0;

if(i){

System.out.println(\ }

[B] boolean b1=true;

boolean b2=true; if(b= =b2){

System.out.println(\ }

[C] int i=1;

int j=2;

if(i= =1||j= =2)

System.out.println(\[D] int i=1;

int j=2;

if(i= =1 && j= =2)

System.out.println(\76.类成员访问控制最严格的是( )

[A] 声明为public的类成员 [B] 声明为private的类成员 [C] 声明为protected的类成员 [D] 缺省以上说明的类成员 77. 运行以下代码的结果是什么?( ) class MyFor{

public static void main(String args[]){ outer: for (int i=1;i <3;i++) inner: for(int j=1; j<3; j++){ if (j==2)

continue outer;

System.out.println(\ }

} }

[A] Value for i=1 Value for j=1 Value for i=2 Value for j=1 [B] Value for i=2 Value for j=1 Value for i=1 Value for j=1 [C] Value for i=1 Value for j=1 [D] Value for i=2 Value for j=1 78.以下代码的输出结果是什么? ( ) String s=new String(\ int iBegin=1; char iEnd=3;

System.out.println(s.substring(iBegin,iEnd));

[A] Bic [B] ic [C] icy [D] error: no method matching substring(int,char) 79.以下代码的输出结果是什么? ( ) System.out.println(4 | 3);

[A] 6 [B] 0 [C] 1 [D] 7 80.给出如下代码: class Test{

private int m;

public static void fun() { // some code... } }

如何使成员变量m 被函数fun()直接访问?( )

[A] 将private int m 改为protected int m [B] 将private int m 改为 public int m [C] 将private int m 改为 private static int m [D] 将private int m 改为 int m 81.下面哪个函数不是public void example(){...}的重载函数?( )

[A] public void example( int m){...} [B] public int example(){...} [C] public int example ( int m, float f){...} 二、

填空题

1.Java程序有两种,分别是 和 。 2.不需要import语句可以直接引用JDK 包里的类和接口。 3.Java语言中级别最高的类是 ,这个类在java.lang包里。 4.类体包括 和 。 5.写出下面程序中输出语句的输出结果 class xx{ public static void main(String arg[]){ int a[][]={{1},{2,2},{3,3,3}}; System.out.println(a.length); System.out.println(a[1].length); System.out.println(a[1][0]); System.out.println(a[2][2]); } }

6.重载的方法必须具有相同的 ,不完全相同的 。 7.构造方法的用途是 。

8.一个类可以从 和 两方面去描述。 9.声明常量的关键字是 。

10.Java语言中,变量按作用域分有四种类型,分别是:局部变量、类变量、 和 。

11.Java中类成员的访问控制修饰符有以下几种:private, public, , 其中, 的限定最严格。

12.面向对象程序设计中,类的实例称为

13.面向对象语言将客观世界都看成由各种对象组成,共同特征和行为的对象组成类,类是变量和 的结合体。

14.每个Applet程序必须有一个类是 类的子类。 15.线程的生命周期中要经历5种状态,分别是新建状态、就绪状态、运行中状态、 状态和终止状态。

16.java语言源程序采用()编码标准

17.Java语言中所有的转义符以()开头,后面跟一个字符来表示 18.下面的语句使a和b的值分别为()和() boolean a, b;

a=(100<(6*8))||(100>(9*8)); b=(100<(9*9))&&(100<(10*10)); 19.int x=5;

int a=(x>3)?5:2;

上面语句使a的值是()

20.在java中,每个类都有父类,如果没有显式的指明类的父类,则隐含地把 类作为父类

20.class ParentClass{ int x;

void setX(){ x=5; } }

class ChildClass extends ParentClass{ int x;

void setX(){ x=0; } }

上面的程序段中,在子类ChildClass中,父类的成员变量x被 ,父类的方法setX()被 。

21.class DuoWeiShuZu{ public static void main(String args[]) { float d0[]={0,9,8}; float d1[]={7,6}; float d[][]=new float[2][]; d[0]=d0; d[1]=d1; System.out.println(d[0][0]); System.out.println(d[0][1]); System.out.println(d[0][2]);

System.out.println(d[1][0]); System.out.println(d[1][1]); } }

上面程序的输出结果是() 22.class ZiFuChuan1{ public static void main(String args[]) { char[] charstr={'I','a','m','a','n','u','n','v','e','r'}; String Str1=new String(charstr); System.out.println(Str1); String Str2=new String(charstr,2,5); System.out.println(Str2); byte ascii[]={65,66,67}; String Str3=new String(ascii,0); System.out.println(Str3); } }

上面程序中的三条输出语句的输出结果分别是()、()和() 23.public class ZiFuChuan2{ public static void main(String args[]) { int len1=\ System.out.println(len1); char str2=\ System.out.println(str2); String str1=\ int start=2; int end=8; char buf[]=new char[end-start]; str1.getChars(start,end,buf,0); System.out.println(buf); } }

上面程序中的三条输出语句的输出结果分别是()、()和() 24.异常处理中try{。。。}代码块的作用是()

25.声明抛弃异常就是在方法声明中通过()子句实现的;而在方法中,抛出异常对象是通过()语句实现的

26.从jdk1.1开始,java.io包中的流包括()和()

三、编程

1.编写一个输出\!\的程序,用两种方式实现(Application、Applet)。

2.编写一个程序,实现对字符串的排序。

3.编写一个程序,把当前目录下test.txt文件的内容复制到文件testbk.txt中(testbk.txt文件不存在)。

4.编写一个多线程的程序,该程序实现堆栈的基本操作(出栈和进栈)。

5.编写一个程序,实现如下图形用户界面(要求:第一个文本框里输入一个整数,点击“计算”,第二个文本框里出现此整数的阶乘;点击“退出”,关闭窗口;点击窗口右上方“关闭”按钮也可关闭窗口)。

7.请写出一管理信息系统的登录、添加、删除、更新和查询模块的代码 8.编写程序求1000之内所有完数。 9.编写程序求100内所有素数。 10.编写程序打印魔方矩阵。 四、简单题

1.Java语言有哪些主要特点?

2.面向对象编程与面向过程编程有哪些不同之处? 3.实例成员和类成员有哪些区别?

4.什么是异常?Java语言的异常处理机制是怎样处理异常的? 5.画图说明线程状态及其转换 6.请说明Java里多态的体现

7.举例说明对象的上转型对象的使用 8.举例说明什么是接口回调

9.与类相关的匿名类和与接口相关的匿名类在使用上有什么区别? 10.画出语句int a[][]={{1,2},{3,4,5}}执行后数组a的内存空间模型。 五、阅读理解题(请在指定位置写出答案,否则无效。)

1.请给出E类中标记的【结果1】、【结果2】。 class B { int n;

1.答: static int sum=0;

【结果1】: void setN(int n)

【结果2】: { this.n=n;

}

int getSum()

{ for(int i=1;i<=n;i++) sum=sum+i; return sum; } }

public class E

{ public static void main(String args[]) { B b1=new B(),b2=new B();

b1.setN(3); b2.setN(5);

int s1=b1.getSum(); int s2=b2.getSum();

System.out.println(s1); //【结果1】 System.out.println(s2);//【结果2】 } }

2.请给出E类中标记的【结果1】、【结果2】。

class A

{ double f(double x,double y) { return x+y; } 2.答: } 【结果1】: class B extends A 【结果2】: { double f(int x,int y) { return x*y; } }

public class E

{ public static void main(String args[]) { B b=new B();

System.out.println(b.f(5,8)); //【结果1】 System.out.println(b.f(8.0,12.0));// 【结果2】 } }

3.请给出E类中标记的【结果1】、【结果2】。 3.答: class AAA

【结果1】: { int add(int x,int y)

【结果2】: { return x+y;

} }

class Student2004 extends AAA { int add(int x,int y) { return x-y; } }

public class E

{ public static void main(String args[]) { AAA a=new AAA();

System.out.println(a.add(55,33)); //【结果1】 a=new Student2004();

System.out.println(a.add(55,33)); //【结果2】 } }

4.请给出E类中标记的【结果1】、【结果2】。 import java.awt.*;

import java.awt.event.*;

public class E implements Runnable 4.答: 【结果1】:

【结果2】:

}

private TextField getTextField1() { if (textField1 == null) { textField1 = new TextField(); textField1.setBounds(new Rectangle(134, 61, 149, 23)); } return textField1; }

private TextField getTextField2() { if (textField2 == null) { textField2 = new TextField(); textField2.setBounds(new Rectangle(132, 102, 154, 23)); } return textField2; }

private Button getButton1() { if (button1 == null) { button1 = new Button(); button1.setBounds(new Rectangle(99, 153, 45, 23)); button1.setLabel(\计算\ button1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent e) { int s=1; int m=Integer.parseInt(textField1.getText().trim()); for(int i=1;i<=m;i++){ s=s*i; } textField2.setText(\ } }); } return button1; }

private Button getButton2() { if (button2 == null) { button2 = new Button(); button2.setBounds(new Rectangle(163, 152, 46, 23)); button2.setLabel(\退出\ button2.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent e) { System.exit(0); } });

} return button2; } public static void main(String args[]){ new CountWin(); } }

6. class Producer implements Runnable{ Student stu; public Producer(Student stu){ this.stu=stu; } public void run(){ int i=0; while(true){ if(i==0){ stu.put(\ } else{ stu.put(\ } i=(i+1)%2; } } }

class Consumer implements Runnable{ Student stu; public Consumer(Student stu){ this.stu=stu; } public void run(){ while(true){ stu.get(); } } }

class Student{ private String name=null; private String sex=null; private boolean isFull=false; public synchronized void put(String name,String sex){ if(isFull==true) try{wait();}catch(Exception e){ }

this.name=name; this.sex=sex; isFull=true; notify(); } public synchronized void get(){ if(isFull==false) try{wait();}catch(Exception e){ } System.out.print(name); System.out.println(\ isFull=false; notify(); } }

class ThreadExample{ public static void main(String args[]){ Student stu=new Student(); new Thread(new Producer(stu)).start(); new Thread(new Consumer(stu)).start(); } }

7.以下是一学生信息管理系统各模块代码: (1)登录模块: import java.awt.*;

import java.awt.event.*;

import javax.swing.JOptionPane; import java.sql.*;

class Login extends Frame implements ActionListener{ Button ok,cancel; TextField text1,text2; public Login(){ super(); init(); } public void init(){ Toolkit tk = this.getToolkit(); Dimension dm = tk.getScreenSize(); int width=250,height=150; setSize(width,height); setLocation((int)(dm.getWidth()-width)/2,(int)(dm.getHeight()-height)/2); setTitle(\学生学籍管理系统登录\ this.setBackground(new Color(255, 204, 204)); setVisible(true);

Label label1=new Label(\ text1=new TextField(15); Label label2=new Label(\ text2=new TextField(15); ok=new Button(\ ok.addActionListener(this); cancel=new Button(\ cancel.addActionListener(this); Panel panel1=new Panel(); panel1.add(label1); panel1.add(text1); Panel panel2=new Panel(); panel2.add(label2); panel2.add(text2); Panel panel3=new Panel(); panel3.setLayout(null); panel3.add(ok); ok.setBounds(60,5,50,25); panel3.add(cancel); cancel.setBounds(130,5,50,25); setLayout(new GridLayout(3,1)); add(panel1); add(panel2); add(panel3); validate(); this.addWindowListener(new java.awt.event.WindowAdapter() { public void windowClosing(java.awt.event.WindowEvent e) { System.exit(0); } }); } public void actionPerformed(ActionEvent e){ Button bt=(Button)(e.getSource()); if(bt==ok){ try{

Class.forName(\ Connection

con=DriverManager.getConnection(\dent\ Statement stmt=con.createStatement(); ResultSet result=stmt.executeQuery(\ boolean flag=false; while(result.next()){ String username=result.getString(\ String password=result.getString(\

if(username.equals(text1.getText().trim())&&(password.equals(text2.getText().trim()))){ flag=true; break; } } if(flag==false){ JOptionPane.showMessageDialog(this,\用户名或者密码错误!\警告对话框\ text1.setText(null); text2.setText(null); text1.requestFocus(); } else{ dispose(); new MainWin(); } }catch(Exception w){ w.printStackTrace(); } } else if(bt==cancel){ dispose(); } } public static void main(String args[]){ new Login(); } }

(2)查询模块:

import java.awt.Frame; import java.awt.Dialog; import java.awt.Dimension;

import java.awt.Label; import java.awt.Rectangle; import java.awt.TextField; import java.awt.Button; import java.awt.event.*; import java.sql.*; import javax.swing.*;

public class ChaXun extends Dialog implements ActionListener{ private Label label = null; private Label label1 = null; private Label label2 = null; private Label label3 = null; private Label label4 = null; private Label label5 = null; private TextField text1 = null; private TextField text2 = null; private TextField text3 = null; private TextField text4 = null; private TextField text5 = null; private Label label6 = null; private TextField text6 = null; private Button button1 = null; public ChaXun(Frame owner) { super(owner); initialize(); } private void initialize() { label6 = new Label(); label6.setBounds(new Rectangle(69, 251, 105, 23)); label6.setText(\请输入学号查询:\ label5 = new Label(); label5.setBounds(new Rectangle(71, 200, 45, 23)); label5.setText(\班级:\ label4 = new Label(); label4.setBounds(new Rectangle(71, 172, 45, 23)); label4.setText(\学院:\ label3 = new Label(); label3.setBounds(new Rectangle(71, 132, 45, 23)); label3.setText(\性别:\

label2 = new Label();

label2.setBounds(new Rectangle(71, 94, 45, 23)); label2.setText(\姓名:\label1 = new Label();

label1.setBounds(new Rectangle(71, 61, 45, 23)); label1.setText(\学号:\

text1 = new TextField();

text1.setBounds(new Rectangle(125, 63, 286, 23)); text1.setEnabled(false);

text2 = new TextField();

text2.setBounds(new Rectangle(126, 94, 286, 23)); text2.setEnabled(false);

text3 = new TextField();

text3.setBounds(new Rectangle(127, 131, 286, 23)); text3.setEnabled(false);

text4 = new TextField();

text4.setBounds(new Rectangle(128, 173, 286, 23)); text4.setEnabled(false);

text5 = new TextField();

text5.setBounds(new Rectangle(126, 202, 285, 24)); text5.setEnabled(false);

text6 = new TextField();

text6.setBounds(new Rectangle(185, 251, 155, 23)); button1 = new Button();

button1.setBounds(new Rectangle(361, 251, 60, 23)); button1.setLabel(\查询\

button1.addActionListener(this); this.setLayout(null); this.setSize(457, 318); this.setLocation(300,200); this.setTitle(\查询学生\this.setModal(true); this.add(label1, null); this.add(label2, null);

this.add(label3, null); this.add(label4, null); this.add(label5, null); this.add(text1, null); this.add(text2, null); this.add(text3, null); this.add(text4, null); this.add(text5, null); this.add(label6, null); this.add(text6, null); this.add(button1, null); this.addWindowListener(new WindowAdapter(){ public void windowClosing(java.awt.event.WindowEvent e) { dispose(); } }); } public void actionPerformed(ActionEvent e){ if(e.getSource()==button1){ try{

Class.forName(\ Connection

con=DriverManager.getConnection(\dent\ Statement stmt=con.createStatement(); ResultSet result=stmt.executeQuery(\ boolean flag=false; while(result.next()){ String xh=result.getString(\ if(xh.equals(text6.getText().trim())){ flag=true; break; } } if(flag==false){ JOptionPane.showMessageDialog(this,\没找到该学生!\警告对话框\ARNING_MESSAGE); text6.setText(null); text6.requestFocus(); } else{ text1.setText(result.getString(2));

text2.setText(result.getString(3)); text3.setText(result.getString(4)); text4.setText(result.getString(5)); text5.setText(result.getString(6)); } }catch(Exception w){ w.printStackTrace(); } } } }

(3)添加模块: import java.awt.*;

import java.awt.event.*; import java.sql.*; import javax.swing.*;

public class TianJia extends Dialog implements ActionListener{ Label label1,label2,label3,label4,label5; TextField text1,text2,text3,text4,text5; Button button1,button2; public TianJia(Frame j){ super(j); init(); } public void init(){ label5 = new Label(); label5.setBounds(new Rectangle(71, 200, 45, 23)); label5.setText(\班级:\ label4 = new Label(); label4.setBounds(new Rectangle(71, 172, 45, 23)); label4.setText(\学院:\ label3 = new Label(); label3.setBounds(new Rectangle(71, 132, 45, 23)); label3.setText(\性别:\ label2 = new Label(); label2.setBounds(new Rectangle(71, 94, 45, 23)); label2.setText(\姓名:\ label1 = new Label(); label1.setBounds(new Rectangle(71, 61, 45, 23)); label1.setText(\学号:\ text1 = new TextField(); text1.setBounds(new Rectangle(125, 63, 286, 23));

text2 = new TextField();

text2.setBounds(new Rectangle(126, 94, 286, 23));

text3 = new TextField();

text3.setBounds(new Rectangle(127, 131, 286, 23)); text4 = new TextField();

text4.setBounds(new Rectangle(128, 173, 286, 23)); text5 = new TextField();

text5.setBounds(new Rectangle(126, 202, 285, 24)); button1 = new Button();

button1.setBounds(new Rectangle(190, 251, 60, 23)); button1.setLabel(\添加\

button1.addActionListener(this);

button2=new Button(\退出\

button2.setBounds(new Rectangle(250, 251, 60, 23)); button2.addActionListener(this);

this.setLayout(null); this.setSize(457, 318); this.setLocation(300,200); this.setTitle(\添加学生\this.setModal(true); this.add(label1, null); this.add(label2, null); this.add(label3, null); this.add(label4, null); this.add(label5, null); this.add(text1, null); this.add(text2, null); this.add(text3, null); this.add(text4, null); this.add(text5, null); this.add(button1, null); this.add(button2,null);

this.addWindowListener(new WindowAdapter(){ public void windowClosing(java.awt.event.WindowEvent e) { dispose(); }

}); } public void actionPerformed(ActionEvent e){ if(e.getSource()==button1){ try{

Class.forName(\ Connection

con=DriverManager.getConnection(\dent\ Statement stmt=con.createStatement(); String xh=text1.getText().trim(); String xm=text2.getText().trim(); String xb=text3.getText().trim(); String yx=text4.getText().trim(); String bj=text5.getText().trim(); String sql=\into jbxx values('\ int b=stmt.executeUpdate(sql); if(b==1){ JOptionPane.showMessageDialog(this,\添加成功!\信息对话框\ text1.setText(null); text2.setText(null); text3.setText(null); text4.setText(null); text5.setText(null); text1.requestFocusInWindow(); } else { JOptionPane.showMessageDialog(this,\添加失败!\信息对话框\TION_MESSAGE); text1.setText(null); text2.setText(null); text3.setText(null); text4.setText(null); text5.setText(null); text1.requestFocusInWindow(); } }catch(Exception w){

w.printStackTrace(); } } else if(e.getSource()==button2){ dispose(); } } }

(4)删除模块: import java.awt.*;

import java.awt.event.*; import java.sql.*; import javax.swing.*;

public class ShanChu extends Dialog implements ActionListener{ Label label1; TextField text1; Button button1; public ShanChu(Frame f){ super(f); init(); } public void init(){ label1=new Label(\请输学号:\ text1=new TextField(15); button1=new Button(\删除\ button1.addActionListener(this); setBounds(300,200,300,100); setLayout(new FlowLayout()); add(label1); add(text1); add(button1); validate(); addWindowListener(new WindowAdapter(){ public void windowClosing(java.awt.event.WindowEvent e) { dispose(); } }); } public void actionPerformed(ActionEvent e){ if(e.getSource()==button1){ try{ Class.forName(\

Connection

con=DriverManager.getConnection(\dent\ Statement stmt=con.createStatement(); //System.out.println(\ String xuehao=text1.getText().trim(); String sql=\ int b=stmt.executeUpdate(sql); if(b==1){ JOptionPane.showMessageDialog(this,\删除成功!\信息对话框\TION_MESSAGE); text1.setText(null); text1.requestFocusInWindow(); } else { JOptionPane.showMessageDialog(this,\删除失败!\信息对话框\TION_MESSAGE); text1.setText(null); text1.requestFocusInWindow(); } }catch(Exception w){ System.out.println(\ w.printStackTrace(); } } } }

(5)更新模块 import java.awt.*;

import java.awt.event.*; import java.sql.*; import javax.swing.*;

import javax.swing.BorderFactory; import javax.swing.border.Border;

public class GengXin extends Dialog implements ActionListener{ private Label label1,label2,label3,label4,label5,label6; private TextField text1,text2,text3,text4,text5,text6; private Button button1,button2,button3; private Connection con;private Statement stmt; private String oldXueHao; public GengXin(Frame j){

super(j); init(); }

private void init(){ JPanel panel1 = new JPanel(); panel1.setLayout(null); Border etched = BorderFactory.createEtchedBorder(); panel1.setBorder(BorderFactory.createTitledBorder(etched, \注意事项\ JPanel panel2 = new JPanel(); panel2.setLayout(null); panel2.setBorder(BorderFactory.createTitledBorder(etched, \注意事项\ label5 = new Label(); label5.setBounds(new Rectangle(71, 200, 45, 23)); label5.setText(\班级:\ label4 = new Label(); label4.setBounds(new Rectangle(71, 172, 45, 23)); label4.setText(\学院:\ label3 = new Label(); label3.setBounds(new Rectangle(71, 132, 45, 23)); label3.setText(\性别:\ label2 = new Label(); label2.setBounds(new Rectangle(71, 94, 45, 23)); label2.setText(\姓名:\ label1 = new Label(); label1.setBounds(new Rectangle(71, 61, 45, 23)); label1.setText(\学号:\ button1 = new Button(); button1.setBounds(new Rectangle(300, 100, 60, 23)); button1.setLabel(\更新\ button1.setEnabled(false); button1.addActionListener(this); button2=new Button(\放弃\ button2.setEnabled(false); button2.setBounds(new Rectangle(300, 150, 60, 23)); button2.addActionListener(this); text1 = new TextField(); text1.setBounds(new Rectangle(126, 63, 150, 23)); text1.setEnabled(false);

text2 = new TextField(); text2.setBounds(new Rectangle(126, 94, 150, 23)); text2.setEnabled(false); text3 = new TextField(); text3.setBounds(new Rectangle(126, 131, 150, 23)); text3.setEnabled(false); text4 = new TextField(); text4.setBounds(new Rectangle(126, 173, 150, 23)); text4.setEnabled(false); text5 = new TextField(); text5.setBounds(new Rectangle(126, 202, 150, 24)); text5.setEnabled(false); label6=new Label(); label6.setBounds(new Rectangle(71, 250, 150, 23)); label6.setText(\输入要更新学生的学号:\ text6=new TextField(15); text6.setBounds(new Rectangle(71, 280, 150, 24)); text6.requestFocusInWindow(); button3=new Button(\查询\ button3.setBounds(new Rectangle(230, 280, 150, 24)); button3.addActionListener(this); //this.setLayout(null); this.setSize(457, 400); this.setLocation(300,200); this.setTitle(\更新学生\ this.setModal(true); panel1.add(label1, null); panel1.add(label2, null); panel1.add(label3, null); panel1.add(label4, null); panel1.add(label5, null); panel2.add(label6,null); panel1.add(text1, null); panel1.add(text2, null); panel1.add(text3, null); panel1.add(text4, null); panel1.add(text5, null);

本文来源:https://www.bwwdw.com/article/8565.html

Top