{ 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( \ } }
24. 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( ); } }
25. 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( ); } }
26. import java.io.*; public class abc
{ public static void main(String args[])
{ SubClass sb = new SubClass( ); System.out.println(sb.max( )); }
46
}
class SuperClass
{ int a = 10 , b = 20 ; }
class SubClass extends SuperClass
{ int max( ) { return ((a>b)?a:b); } } 四.判断题
1. Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。
2. 对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相
同的新对象。
3. 有的类定义时可以不定义构造函数,所以构造函数不是必需的。 4. 类及其属性、方法可以同时有一个以上的修饰符来修饰。
5. Java的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点. 6. 抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法。 7. final类中的属性和方法都必须被final修饰符修饰。 8. 最终类不能派生子类,最终方法不能被覆盖。 9. 子类要调用父类的方法,必须使用super关键字。 10. 一个Java类可以有多个父类。
11. 如果p是父类Parent的对象,而c是子类Child的对象,则语句c = p是正确的。 12. 一个类如果实现了某个接口,那么它必须覆盖该接口中的所有方法。
13. 当一个方法在运行过程中产生一个异常,则这个方法会终止,但是整个程序不一定终止运行。
14. 接口是特殊的类,所以接口也可以继承,子接口将继承父接口的所有常量和抽象方法。 15. 用“+”可以实现字符串的拼接,用- 可以从一个字符串中去除一个字符子串。 16. 使用方法length( )可以获得字符串或数组的长度。
17. 设String对象s=”Hello ”,运行语句System.out.println(s.concat(“World!”));后String对象s的内容为”Hello world!”,所以语句输出为Hello world!
18. 创建Vector对象时构造函数给定的是其中可以包容的元素个数,使用中应注意不能超越这个数值。
19. 所有的鼠标事件都由MouseListener监听接口的监听者来处理。 20. 一个容器中可以混合使用多种布局策略。 21. Java中,并非每个事件类都只对应一个事件。
22. 一个线程对象的具体操作是由run()方法的内容确定的,但是Thread类的run()方法是空的,其中没有内容;所以用户程序要么派生一个Thread的子类并在子类里重新定义run()方法,要么使一个类实现Runnable接口并书写其中run()方法的方法体。
23. Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。 24. Java Applet是由独立的解释器程序来运行的。 25. Java Applet只能在图形界面下工作。 26. Java的字符类型采用的是ASCII编码。
27. Java的各种数据类型占用固定长度,与具体的软硬件平台环境无关 28. Applet是一种特殊的Panel,它是Java Applet程序的最外层容器。 29. 子类的域和方法的数目一定大于等于父类的域和方法的数目。 30. System类不能实例化,即不能创建System类的对象。
31. 用户自定义的图形界面元素也可以响应用户的动作,具有交互功能
32. Java中数组的元素可以是简单数据类型的量,也可以是某一类的对象。 33. Vector类中的对象不能是简单数据类型。
47
34. Java中的String类的对象既可以是字符串常量,也可以是字符串变量。 35. 容器是用来组织其他界面成分和元素的单元,它不能嵌套其他容器。 36. Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。( ) 37. Java的字符类型采用的是Unicode编码,但所占字节由具体软硬件环境决定。 ( ) 38. 在Java中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。 ( ) 39. 所有的鼠标事件都由MouseListener监听接口的监听者来处理。 ( ) 40. Applet是一种特殊的Panel,它是Java Applet程序的最外层容器。 ( ) 41. 由继承性可知,程序中子类拥有的成员数目一定大于等于父类拥有的成员数目。( ) 42. 注释的作用是使程序在执行时在屏幕上显示//之后的内容。 ( ) 43. 如果p是父类Parent的对象,而c是子类Child的对象,则语句p=c是正确的。 ( ) 44. Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。( ) 45. 设String对象s=”H”,运行语句System.out.println(s.concat(“ello!”));后String对象s的内容为”Hello!”,所以语句输出为”Hello!”。 ( ) 46. java异常处理中可以使用多个catch子句,此时应将高级别异常类的catch子句放在前面。 ( ) 47. 创建Vector对象时构造函数给定的是其中可以包容的元素个数,使用中应注意不能超越这个数值。 ( ) 48. 静态初始化器是在其所属的类加载内存时由系统自动调用执行。 ( ) 49. Java语言中的数组元素下标总是从0开始,下标可以是整数或整型表达式。 ( ) 50. System.in中提供的read()方法一次只能读取一个字符或按照byte 类型的数组来读取。
1-5:×××√× 6-10:××√×× 11-15:××√√× 16-20:××××× 21-25 :√√√×√ 26-30:×√√×√ 31-35:√√√×× 36-40√×××√ 41-45:××√×× 46-50:××√√√ 51-55:√×√×× 56-59: √√××
四.程序设计
1. 编写一个Java程序片断定义一个表示学生的类student,
(1)包括属性(学号、姓名、性别、年龄、成绩)和方法(获得学号、获得姓名、判断成绩);
(2)判断成绩()方法中要实现下列功能:根据成绩显示‘优’、‘良’、‘合格’、‘不合格’,判断条件是成绩为90-100、80-89、60-79、<60;
(3)创建一个student类对象,并显示输出该学生的 学号、姓名、成绩及相应等级; (4)在student类中增加一个‘修改成绩’方法,当输入的成绩值<0 或者>100时,抛出一个异常,报告输入错误。
2. 制作一个矩形类MyRectangle。要求:
(1) 将MyRectangle类放在一个自己创建的包MyPackage中。 (2)在MyRectangle类中添加width、height属性。 (3)用构造方法对width、height属性进行初始化。
(4)在MyRectangle类中添加成员方法area(int width,int height)计算矩形的面积。 (5)编程利用MyRectangle类的实例输出一个矩形(46,60)的面积。
3. 设计Application字符界面程序,定义三个重载方法mol并调用。三个方法分别为:接
收一个int参数,执行平方运算并输出结果;接收两个int参数,执行相乘运算并输出结果;接收一个字符串参数,输出该字符串参数信息。要求在main( )方法中分别用参数区别调用这三个方法。如调用格式为:
48
mol(128); mol(12,8);
mol(“teacher”);
则可输出:128的平方等于16384 12*8=96
Hello,teacher!
4. 编写一个完整的Java Application 程序。该程序包含类Person、Student、Test,具体要求如下: ⑴类Person ①属性
name : String对象,表示一个人姓名 sex: char类型,用来表示性别 id:String对象,表示身份证号 ②方法
Person(String name, char sex, String id):构造函数
public String toString() :返回个人的各项信息,包括姓名、性别等上述属性 ⑵类Student
从Person类派生,增加了以下属性和方法: ① 属性
sNo: long类型,表示学生的学号 sClass: String对象,表示学生的班级 ② 方法
Student(long sNo, String name, char sex, String id, String sClass):构造函数
public String toString() :返回学生的各项信息,包括学号、班级、姓名等上述属性 (3) 类Test作为主类要完成测试功能
(注:程序框架和部分源码已给出,请填写完整。)
class Person {
protected String name; protected char sex; protected String id;
Person(String name, char sex, String id) //定义构造方法,请填写完整 (3分) {
this.name = name; this.sex = sex; this.id = id; }
public String toString() //定义方法,请填写完整 (2分)
{ String s = new String( \ 姓名: \ 性别: \ if (id != null) s += \ 身份证号: \ return s; } }
class Student extends Person
49
{
//定义属性,请填写完整 (2分) long sNo; String sClass;
//定义构造方法,请填写完整 (3分)
Student(long sNo, String name, char sex, String id,String sClass) {
super(name,sex,id); this.sNo=sNo; this.sClass=sClass; }
public String toString() {
String s = new String( \ 姓名: \ 性别: \学号:\ if(sClass!=null) s+=\ 班级:\ if (id != null) s += \身份证号: \ return s; } }
public class Test
{ public static void main(String args[])
{ Student aStudent = new Student(2006002, \王玲\'女',\计算机2班\ System.out.println(\
}
4. 编写程序Test.java,定义数组存放如下数据{1,4,5,3,2,0},并对该数组按照由
小到大顺序排序,输出排序后的结果。
public class Test{
public static void main(String args[]){ int a[]={1,4,5,3,2,0}; int i,j;
for (i=0;i<5;i++) for (j=0;j<5-i;j++) if(a[j]>a[j+1]) { int t; t=a[j]; a[j]=a[j+1]; a[j+1]=t; }
for(i=0;i
System.out.println(a[i]+\ \}
5. 在Test类中添加两个成员方法,分别实现两个、和三个整数的相加。(要求使用重载方
法、并能够通过类名直接访问这两个方法,方法名为add) class Test {
public static int add(int a,int b) {
50