当前位置:文档之家› 模拟试卷及答案2

模拟试卷及答案2

Java语言程序设计期末复习综合练习题

一、选择题。

1.编译Java Applet 源程序文件产生的字节码文件的扩展名为( )。

A、java

B、class

C、html

D、exe

答:B

2.main方法是Java Application程序执行的入口点,关于main方法的方法头以下哪项是合法的()?

A、public static void main()

B、public static void main(String args[] )

C、public static int main(String [] arg )

D、public void main(String arg[] )

答:B

3.为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。

A、static void method( )

B、public void method( )

C、final void method( )

D、abstract void method( )

答:A

4.下列哪个是合法的Java标识符?()

A、Tree&Glasses

B、FirstJavaApplet

C、_$theLastOne

D、273.5

答:B 、 C

5.Java Application源程序的主类是指包含有()方法的类。

A、main方法

B、toString方法

C、init方法

D、actionPerfromed方法

答:A

6.Java的字符类型采用的是Unicode编码方案,每个Unicode码占用()个比特位。

A、8

B、16

C、32

D、64

答:B

7.设a = 8,则表达式 a >>> 2 的值是( )。

A、1

B、2

C、3

D、4

答:B

8.若a的值为3时,下列程序段被执行后,c的值是多少?()

c = 1;

if ( a>0 ) if ( a>3 ) c = 2; else c = 3; else c = 4;

A、1

B、2

C、3

D、4

答:C

9.在编写Java Application程序时,若需要使用到标准输入输出语句,必须在程序的开头写上( )语句。

A、import java.awt.* ;

B、import java.applet.Applet ;

C、import java.io.* ;

D、import java.awt.Graphics ;

答:C

10.对于构造函数,下列叙述正确的是()。

A、构造函数是类的一种特殊函数,它的方法名必须与类名相同。

B、构造函数的返回类型只能是void型。

C、构造函数的主要作用是完成对类的对象的初始化工作。

D、一般在创建新对象时,系统会自动调用构造函数。

答:A C D

11.下面的是关于类及其修饰符的一些描述,正确的是:()。

A、abstract类只能用来派生子类,不能用来创建abstract类的对象。

B、final类不但可以用来派生子类,也可以用来创建final类的对象。

C、abstract不能与final同时修饰一个类。

D、abstract方法必须在abstract类中声明,但abstract类定义中可以没

有abstract方法。

答:A C D

12.若需要定义一个类域或类方法,应使用哪种修饰符?()

A、static

B、package

C、private

D、public

答:A

13.若在某一个类定义中定义有如下的方法: abstract void performDial( );

该方法属于()。

A、本地方法

B、最终方法

C、解态方法

D、抽象方法

答:D

14.下列关于静态初始化器的叙述中,哪一个是正确的?()

A、静态初始化器是在构造函数之前加上static修饰符。

B、静态初始化器是对类自身进行初始化。

C、静态初始化器在同一个类中只能有一个。

D、静态初始化器是在其所属的类加载内存时由系统自动调用执行。

答:B D

15.不使用static修饰符限定的方法称为对象(或实例)方法,下列哪一个说法是正确的?()

A、实例方法可以直接调用父类的实例方法。

B、实例方法可以直接调用父类的类方法。

C、实例方法可以直接调用其他类的实例方法。

D、实例方法可以直接调用本类的类方法。

答:B D

16.设有下面两个类的定义:

class Person { class Student extends Person { long id; // 身份证号 int score; // 入学总分

String name; // 姓名 int getScore(){

} return score;

}

}

问:类Person和类Student的关系是()。

A、包含关系

B、继承关系

C、关联关系

D、无关系,上述类定义有语法错误

答:B、

17.设有下面的两个类定义:

class AA {

void Show(){ System.out.println(“我喜欢Java!”);

}

class BB extends AA {

void Show(){ System.out.println(“我喜欢C++!”);

}

则顺序执行如下语句后输出结果为:()

AA a; BB b;

a.Show();

b.Show();

A、我喜欢Java!

B、我喜欢C++!

我喜欢C++! 我喜欢Java!

C、我喜欢Java!

D、我喜欢C++!

我喜欢Java! 我喜欢C++!

答:A

18.设有下面的一个类定义:

class AA {

static void Show( ){ System.out.println(“我喜欢Java!”); }

}

class BB { void Show( ){ System.out.println(“我喜欢C++!”); } }

若已经使用AA类创建对象a和BB类创建对象b,则下面哪一个方法调用是正确的:()

A、a.Show( )

B、AA.Show( );

b.Show( ) BB.Show( );

C、AA.Show( );

D、a.Show( );

b.Show( ); BB.Show( );

答:C

19.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序特性称为()。

A、隐藏

B、覆盖

C、重载

D、Java不支持此特性

答:C

20.对于构造函数,下列叙述正确的是()。

A、构造函数也允许重载。

B、子类无条件地继承父类的无参构造函数。

C、子类不允许调用父类的构造函数。

D、在同一个类中定义的重载构造函数可以相互调用。

答:A B D

21.在使用interface声明一个接口时,只可以使用()修饰符修饰该接口。

A、private

B、protected

C、private protected

D、public

答:D

22.设有下面两个赋值语句:

a = Integer.parseInt(“1024”);

b = Integer.valueOf(“1024”).intValue();

下述说法正确的是()。

A、a是整数类型变量,b是整数类对象。

B、a是整数类对象,b是整数类型变量。

C、a和b都是整数类对象并且它们的值相等。

D、a和b都是整数类型变量并且它们的值相等。

答:D

23.在Java Applet程序用户自定义的Applet子类中,常常重载( )方法在Applet 的界面中显示文字、图形和其它界面元素。

A、start( )

B、stop( )

C、init( )

D、paint( )

答:D

24.下面的语句的作用是:()。

Vector MyVector = new Vector(100,50);

A、创建一个数组类对象MyVector,有100个元素的空间,每个元素的初值为50。

B、创建一个向量类对象MyVector,有100个元素的空间,每个元素的初值为50。

C、创建一个数组类对象MyVector,有100个元素的空间,若空间使用完时,以50

个元素空间单位递增。

D、创建一个向量类对象MyVector,有100个元素的空间,若空间使用完时,以50

个元素空间单位递增。

答:D

25.在Java中,存放字符串常量的对象属于()类对象。

A、Character

B、String

C、StringBuffer

D、Vector

答:B

26.在Java中,开发图形用户界面的程序需要使用一个系统提供的类库,这个类库就是()包。

A、java.io

B、java.awt

C、java.applet

D、java.awt.event

答:D

27.在Java图形用户界面编程中,若显示一些不需要修改的文本信息,一般是使用()类的对象来实现。

A、Label

B、Button

C、TextArea

D、TextField

答:A

28.创建一个标识有“关闭”按钮的语句是( )。

A、TextField b = new TextField(“关闭”);

B、Label b = new Label(“关闭”);

C、Checkbox b = new Checkbox(“关闭”);

D、Button b = new Button(“关闭”);

答:D

29.在编写异常处理的Java程序中,每个catch语句块都应该与( )语句块对应,使得用该语句块来启动Java的异常处理机制。

A、if – else

B、switch

C、try

D、throw

答:C

30.在编写Java Applet程序时,若需要对发生的事件作出响应和处理,一般需要在程

序的开头写上( )语句。

A、import java.awt.* ;

B、import java.applet.* ;

C、import java.io.* ;

D、import java.awt.event.* ;

答:D

31.对于子类的构造函数说明,下列叙述中不正确的是()。

A、子类无条件地继承父类的无参构造函数。

B、子类可以在自己的构造函数中使用super关键字来调用父类的含参数构造函

数,但这个调用语句必须是子类构造函数的第一个可执行语句。

C、在创建子类的对象时,将先执行继承自父类的无参构造函数,然后再执行

自己的构造函数。

D、子类不但可以继承父类的无参构造函数,也可以继承父类的有参构造函数。

答:D

二、填空题。

1.一个复杂的应用系统必然包括有多个对象,这些对象间可能存在的关系有三种,它们是:、和。

答:包含、继承、关联

2.设x = 2 ,则表达式( x + + ) * 3 的值是。

答:6

3.若x = 5,y = 10,则x > y和x <= y的逻辑值分别为和。

答:false、true

4.顺序执行以下两个语句的输出结果是:。

String s = “我喜欢学习Java!”;

System.out.println(s.length( ));

答:10

5.据程序的构成和运行环境的不同,Java源程序分为两大类:程序和程序。

答:Java Application 、Java Applet ( 或Application、Applet )

6.如果一个Java源程序文件中定义有4个类,则使用Sun公司的JDK编译器javac编译该源程序文件将产生个文件名与类名相同而扩展名为的字节码文件。

答:4、class

7.开发与运行Java程序需要经过的三个主要步骤为、

和。

答:编辑源程序、编译生成字节码、解释运行字节码

8.如果一个Java Applet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是类的子类并且存储该源程序文件的文件名必须为。

答:Applet、MyApplet.java

9.一个Java Application源程序文件名为MyJavaApplication.java,如果使用Sun公司的Java开发工具JDK编译该源程序文件并使用其虚拟机运算这个程序的字节码文件,应该顺序执行如下两个命令:

答:javac MyJavaApplication.java 、java MyJavaApplication

10.在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码字符占用字节内存空间,这样,无论是中文字符还是英文字符,每个都是占用字节内存空间。

答:2、2

11.在Java程序中定义的类有两种成员:、。

答:域成员、方法成员

12. Java源程序是由类定义组成的,每个程序中可以定义若干个类,但是只有一个类是主类。在Java Application中,这个主类是指包含方法的类;在Java Applet里,这个主类是一个系统类的子类。

答:main Applet

13.创建一个名为MyPackage 的包的语句是,

该语句应该放在程序的位置为:。

答:package MyPackage ; 应该在程序第一句。

14.方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。方法是不能被当前类的子类重新定义的方法。

答:抽象方法、最终方法(或abstract方法、final方法)

15.形式参数指的是方法被时的参数行,实际参数是方法被

时所传递进去的变量或值。

答:定义、调用

16.多态是指,在Java中有两种多态,一种是使用方法的实现多态,另一种是使用方法的实现多态。

答:一个程序中有多个同名的不同方法覆盖重载

17.在Java程序中,通过类的定义只能实现重继承,但通过接口的定义可以实现重继承关系。

答:单、多

18.子类重新定义一个与从父类那里继承来的域变量完全相同的变量,这种面向对象程序设计特性称为域的。

答:隐藏

19.字符串分为两大类,一类是字符串常量,使用类的对象表示;另一类是字符串变量,使用类的对象表示。

答:String、StringBuffer

20.设有数组定义:int MyIntArray[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 , 90 , 100 };

则执行以下几个语句后的输出结果是。

int s = 0 ;

for ( int i = 0 ; i < MyIntArray.length ; i + + )

s += MyIntArray[i] ;

System.out.println( s );

答:550

21.在Applet中,创建一个具有10行45列的多行文本区域对象ta的语句为:

答:TextArea ta = new TextArea( 10 , 45 );

22.创建一个标识有“广西广播电视大学”字样的标签对象gxdd的语句为;创建一个标识有“关闭”字样的按钮对象gb的语句为。

答:Label gxdd = new Label(“广西广播电视大学”);

Button gb = new Button(“关闭”);

三、写出下列程序完成的功能。

1.public class Sum

{ public static void main( String args[ ])

{ double sum = 0.0 ;

for ( int i = 1 ; i <= 100 ; i + + )

sum += 1.0/(double) i ;

System.out.println( "sum="+sum );

}

}

答:计算1/1+1/2+1/3+...+1/100 的值。

2.import java.io.* ;

public class Reverse

{ public static void main(String args[ ])

{ int i , n =10 ;

int a[ ] = new int[10];

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

try {

BufferedReader br = new BufferedReader(

new InputStreamReader(System.in));

a[i] = Integer.parseInt(br.readLine( )); // 输入一个整数

} catch ( IOException e ) { } ;

for ( i = n-1 ; i >= 0 ; i ――)

System.out.print(a[i]+" ");

System.out.println( );

}

}

答:从标准输入(即键盘)读入10个整数存入整型数组a中,然后逆序输出这10个整数。

3.import java.awt.*;

public class abc

{ public static void main(String args[])

{ new FrameOut(); }

}

class FrameOut extends Frame // Frame为系统定

{ Button btn; // 义的窗框类FrameOut( )

{ super("按钮");

btn = new Button("按下我");

setLayout(new FlowLayout( ));

add(btn);

setSize(300,200);

show( );

}

}

答:创建一个标题为"按钮"的窗框,窗框中显示有"按下我"字样的按钮。

4.import java.io.*;

public class Class1

{

public static void main(String args[ ]){

int i , Max , Min ;

int a[ ] = { 12,67,8,98,23,56,124,55,99,100 };

Max = Min = a[0];

for ( i = 1 ; i < a.length; i ++ ) {

if ( a[i]

if ( a[i]>Max ) Max = a[i];

}

System.out.println( Max+" "+Min );

System.out.println( );

}

}

答:在数组中查找并输出最大值和最小值。

5.public class ABC

{

public static void main(String args[ ]){

int i , j ;

int a[ ] = { 12,67,8,98,23,56,124,55,99,100 };

for ( i = 0 ; i < a.length-1; i ++ ) {

int k = i;

for ( j = i ; j < a.length ; j++ )

if ( a[j]

int temp =a[i];

a[i] = a[k];

a[k] = temp;

}

for ( i =0 ; i

System.out.print(a[i]+" ");

System.out.println( );

}

}

答:使用选择法对数组a的数据进行升序排序,然后输出排序后的结果。

6.import java.io.*;

public class Class1 {

public static void main( String args[] )

{

Fact N = new Fact( 4 );

System.out.println( N.fact( ) );

}

}

class Fact {

int n ;

Fact( int nn ) { n = nn; }

int fact( ) {

int i , f = 1;

for ( i=1; i<=n; i++ )

f = f*i;

return f;

}

}

答:定义一个计算n!的类Fact,然后主类中创建一个对象求解4!的值。

7.import java.awt.*;

import java.applet.Applet;

public class DrawMyImage extends Applet

{

Image myImage; // 定义一个图像类Image的对象myImage

public void init( )

{

myImage = getImage(getDocumentBase( ),"pica.jpg");

}

public void paint(Graphics g)

{

g.drawImage(myImage,0,0,this);

}

}

答:在Applet界面中显示当前文件夹下名为“pica.jpg”的图像。

8.import java.io.*;

public class Class1 {

public static void main( String args[ ] )

{ SubClass a = new SubClass( 10,3 );

System.out.println( a.exp( ));

}

}

class SuperClass {

float x;

int n;

SuperClass( float xx , int nn ) { x = xx ; n = nn; }

}

class SubClass extends SuperClass {

SubClass( float xx , int nn ) { super( xx , nn ); }

float exp( ) {

float s = 1;

for ( int i = 1; i<=n; i++ ) s = s*x;

return s;

}

}

答:定义一个计算x n的类,然后用该类求103的值。

9. import java.awt.*;

import java.applet.Applet;

public class Applet1 extends Applet

{

public void paint( Graphics g )

{

g.drawLine( 30,5,100,45 );

g.drawRect( 30,50,50,20 );

g.drawOval( 30,80,50,40 );

g.drawString( "They are figures!" , 30,150 );

}

}

答:在Applet界面中显示一些由直线、矩形框、椭圆框和文字组成的图形。

10.import java.io.*;

public class abc

{ public static void main(String args[])

{ SubClass sb = new SubClass( );

System.out.println(sb.max( ));

}

}

class SuperClass

{ int a = 10 , b = 20 ; }

class SubClass extends SuperClass

{ int max( ) { return ((a>b)?a:b); } }

答:求两个数的最大值。

四、写出下面程序的运行结果。

1.import java.io.*;

public class abc

{ public static void main(String args[ ])

{ AB s = new AB("Hello!","I love JA V A.");

System.out.println(s.toString( ));

}

}

class AB {

String s1;

String s2;

AB( String str1 , String str2 )

{ s1 = str1; s2 = str2; }

public String toString( )

{ return s1+s2;}

}

答:Hello! I love JA V A.

2.import java.io.* ;

public class abc

{

public static void main(String args[ ])

{ int i , s = 0 ;

int a[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 , 90 };

for ( i = 0 ; i < a.length ; i ++ )

if ( a[i]%3 = = 0 ) s += a[i] ;

System.out.println("s="+s);

}

}

答:s = 180

3.import java.io.* ;

public class abc

{

public static void main(String args[ ])

{ SubSubClass x = new SubSubClass(10 , 20 , 30);

x.show();

}

}

class SuperClass

{ int a,b;

SuperClass(int aa , int bb)

{ a=aa; b=bb; }

void show( )

{ System.out.println("a="+a+"\nb="+b); }

}

class SubClass extends SuperClass

{ int c;

SubClass(int aa,int bb,int cc)

{ super(aa,bb);

c=cc;

}

}

class SubSubClass extends SubClass

{ int a;

SubSubClass(int aa,int bb,int cc)

{ super(aa,bb,cc);

a=aa+bb+cc;

}

void show()

{ System.out.println("a="+a+"\nb="+b+"\nc="+c); } }

答:a=60

b=20

c=30

4.import java.io.*;

public class abc

{

public static void main(String args[])

{

String s1 = "Hello!";

String s2 = new String("World!");

System.out.println(s1.concat(s2));

}

}

答:Hello! World!

5.import java.io.* ;

public class ABC

{

public static void main(String args[ ])

{ int i ;

int a[ ] = { 11,22,33,44,55,66,77,88,99 };

for ( i = 0 ; i <= a.length / 2 ; i ++ )

System.out.print( a[i]+a[a.length-i-1]+" ");

System.out.println( );

}

}

答:110 110 110 110 110

6. import java.io.*;

class Parent

{

void printMe()

{

System.out.println("parent");

}

}

class Child extends Parent

{

void printMe()

{

System.out.println("child");

}

void printAll()

{

super.printMe();

this.printMe();

printMe();

}

}

public class Class1

{

public static void main(String args[ ])

{

Child myC = new Child( );

myC.printAll( );

}

}

答:parent

child

child

五、使用Java语言编写程序。

1.编写一个字符界面的Java Application 程序,接受用户从键盘输入的一个正整数,然后统计并输出从1到这个正整数的累加和。

答:参考程序如下:

import java.io.*;

public class SUM

{

public static void main (String[] args)

{

int i , n=-1 , sum=0 ;

while ( n<1)

try {

BufferedReader br =

new BufferedReader( new InputStreamReader(System.in));

n = Integer.parseInt(br.readLine( ));

} catch ( IOException e ) { } ;

for ( i =1 ; i<=n; i++ ) sum += i;

System.out.println(sum);

}

}

2.编写一个字符界面的Java Application 程序,接受用户输入的10个整数,并输出这10个整数的最大值和最小值。

答:参考程序如下:

import java.io.* ;

public class abc

{

public static void main(String args[ ])

{ int i , n = 10 , max = 0 , min = 0 , temp = 0;

try {

BufferedReader br = new BufferedReader(

new InputStreamReader(System.in));

max = min = Integer.parseInt(br.readLine( ));

} catch ( IOException e ) { } ;

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

try {

BufferedReader br = new BufferedReader(

new InputStreamReader(System.in));

temp = Integer.parseInt(br.readLine( ));

if (temp > max ) max=temp;

if (temp < min) min=temp;

} catch ( IOException e ) { } ;

}

System.out.println("max="+max+"\nmin="+min);

}

}

3.编写一个完整的Java Applet 程序使用复数类Complex验证两个复数1+2i 和3+4i 相加产生一个新的复数4+6i 。

复数类Complex必须满足如下要求:

(1) 复数类Complex 的属性有:

RealPart : int型,代表复数的实数部分

ImaginPart : int型,代表复数的虚数部分

(2) 复数类Complex 的方法有:

Complex( ) : 构造函数,将复数的实部和虚部都置0

Complex( int r , int i ) : 构造函数,形参r 为实部的初值,i为虚部的初值。

Complex complexAdd(Complex a) : 将当前复数对象与形参复数对象相加,所得的结果仍是一个复数值,返回给此方法的调用者。

String ToString( ) : 把当前复数对象的实部、虚部组合成a+bi 的字符串形式,其中a 和b分别为实部和虚部的数据。

答:参考程序如下:

import java.applet.* ;

import java.awt.* ;

public class abc extends Applet

{

Complex a,b,c ;

public void init( )

{

a = new Complex(1,2);

b = new Complex(3,4);

c = new Complex();

}

public void paint(Graphics g)

{

c=https://www.doczj.com/doc/bf8621638.html,plexAdd(b);

g.drawString("第一个复数:"+a.toString(),10,50);

g.drawString("第二个复数:"+b.toString(),10,70);

g.drawString("两复数之和:"+c.toString(),10,90);

}

}

class Complex

{

int RealPart ; // 复数的实部

int ImaginPart ; // 复数的虚部

Complex() { RealPart = 0 ; ImaginPart = 0 ; }

Complex(int r , int i)

{ RealPart = r ; ImaginPart = i ; }

Complex complexAdd(Complex a)

{

Complex temp = new Complex( ); // 临时复数对象

temp.RealPart=RealPart+a.RealPart;

temp.ImaginPart=ImaginPart+a.ImaginPart;

return temp;

}

public String toString( )

{ return ( RealPart+" + "+ImaginPart+" i "); }

}

4.编写一个学生类Student ,要求:

(1) 学生类Student 属性有:

id : long型,代表学号

name : String类对象,代表姓名

age : int型,代表年龄

sex : boolen型,代表性别(其中:true表示男,false表示女)

phone : String类对象,代表联系电话

(2) 学生类Student的方法有:

Student(long i , String n , int a , boolean s , long p)

: 有参构造函数,形参表中的参数分别初始化学号、姓名、

年龄、性别和联系电话。

int getAge() ( ) : 获取年龄作为方法的返回值。

boolean getSex( ) ( ) : 获取性别作为方法的返回值。

long getPhone ( ) : 获取联系电话作为方法的返回值。

public String toString( ) : 以姓名:联系电话的形式作为方法的返回值。

答:参考程序段如下:

class Student {

long id;

String name;

int age;

boolean sex;

long phone;

Student( long i , String n , int a , boolean s , long p ){

id = i;

name = n;

age = a;

sex = s;

phone = p;

}

int getAge(){ return age; }

boolean getSex(){ return sex; }

long getPhone() { return phone; }

public String toString(){ return name+" : "+phone; }

}

5.编写Applet程序:求三个整数的最小值。

答:参考程序如下:

import java.applet.*;

import java.awt.*;

import java.awt.event.*;

public class FindMin extends Applet implements ActionListener {

Label result;

TextField in1,in2,in3;

Button btn1,btn2;

int a=0,b=0,c=0,min;

public void init()

{

result=new Label("请先输入三个待比较的整数");

in1=new TextField(5);

in2=new TextField(5);

in3=new TextField(5);

btn1=new Button("比较");

btn2=new Button("关闭");

add(in1);

add(in2);

add(in3);

add(btn1);

add(btn2);

add(result);

btn1.addActionListener(this);

btn2.addActionListener(this);

}

public void actionPerformed(ActionEvent e)

{

if (e.getSource()==btn1)

{ a=Integer.parseInt(in1.getText());

b=Integer.parseInt(in2.getText());

c=Integer.parseInt(in3.getText());

min=a;

if (b

min=b;

if(c

min=c;

result.setText("三数中最小值是:"+min);

}

else

System.exit(0);

}

}

6.编写图形界面下的Java Applet程序,接受用户输入的两个数据为上、下限,然后10个一行输出上、下限之间的所有素数。

答:参考程序如下:

//输入上限与下限,输出范围内的素数

import java.applet.*;

import java.awt.*;

import java.awt.event.*;

public class Sushu extends Applet implements ActionListener

{

Label lb1,lb2,result;

TextField in1,in2;

TextArea out1;

Button btn1,btn2;

int a=0,b=0;

String s="";

public void init()

{

result=new Label(" 输出框");

lb1=new Label("上限");

lb2=new Label("下限");

in1=new TextField(5);

in2=new TextField(5);

out1=new TextArea();

out1.setEditable(false);//设为不可编辑

btn1=new Button("输出素数");

btn2=new Button("关闭");

add(lb1);

add(in1);

add(lb2);

add(in2);

add(btn1);

add(btn2);

add(result);

add(out1);

btn1.addActionListener(this);

btn2.addActionListener(this);

}

public void actionPerformed(ActionEvent e)

{

int k=0;//设计数器

if (e.getSource()==btn1)//响应按钮"输出素数"的动作

{

out1.setText("\n");//新行输出

a=Integer.parseInt(in1.getText());

b=Integer.parseInt(in2.getText());

//判断是否素数,是则计数并加入输出子串s

Loop:

for(int i=b;i

{

for(int j=2;j

{

if(i%j==0)

continue Loop;

}

k++;

if(k%10==0) //每10个数加个回车

s=s+i+","+"\n";

else

s=s+i+",";

}

result.setText(b+"与"+a+"之间共有素数"+k+"个,输出如下:");

out1.setText(s);

}

else System.exit(0);//点击"关闭"退出程序

}

}

相关主题
文本预览
相关文档 最新文档