《Java程序设计》
}
public class CreatePerson{
public static void main(String[] args){
Person p1 = new Person(\张三\男',20);
以下代码完成定义对象p2,各参数值分别为:李四,女,28 ; p1.sex = '女'; //将p1的sex属性改为女
System.out.println(p1.toString()); //输出p1的各个属性 //以下代码将p2的age改为33 ; //以下代码输出p2的各个属性 ; } }
答:1、name=pName(2分) sex=pSex(2分) age=pAge(2分)
2、return s(2分)
3、Person p2=new Person(“李四”,’女’,28) (2分) 4、p2.age=33(2分)
5、p2.toString( ) (2分) 9.分析程序的运行结果 public class Course{ private String cNumber; private String cName; private int cUnit;
public Course(String number,String name,int unit){ cNumber=number;cName=name;cUnit=unit; }
public void printCourseInfo(){
System.out.println (\课程号:\课程名:\学分:\} }
class CourseTest{
public static void main(String[]args){ Course c;
c=new Course(\c.printCourseInfo(); } }
答:课程号:001 课程名:Java 学分:3(5分)
第 16 页
《Java程序设计》
10. 下面的程序运行结果如下,请将代码填充完整: name:Tom salary:5000 name:Jerry salary:3000
public class Employee{ String name; int salary;
Employee(String n,int s){
__ __; //给变量name赋值 __ __; //给变量salary赋值 }
Employee(String n){
name = n; //给变量name赋值 }
void print(){
System.out.println(\ System.out.println(\ }
void setSalary(int s){
__ __; 给变量salary赋值 }
public static void main(String[] args){
Employee e1 = new Employee(\ Employee e2 = new Employee(\ e1.print();
e2.setSalary(3000); e2.print(); } }
答: 1、 name=n; //给变量name赋值 salary=s;
2、 salary=s; 11.分析程序的运行结果
public class Father{
String name,address,tel; int age;
public Father(String name,int age){ this.name=name;this.age=age; }
void out(){ System.out.print(\姓名:\
第 17 页
《Java程序设计》
System.out.print(\年龄:\ }
void outOther(){ System.out.print(\家庭住址:\ System.out.print(\电话:\ } }
class Son extends Father{ String school;
public Son(String name,int age){ super(name,age); }
void out(){ super.out(); super.outOther(); System.out.println (\学校:\ }
public static void main(String args[]){ Son son=new Son(\ son.address=\金水区\ son.school=\九中\ son.tel=\ son.out(); } }
答:姓名:Tom 年龄:15 家庭住址:金水区 电话:66123456 学校:九中12.阅读如下所示的3个JAVA类,分析它们之间的关系,写出运行结果。 class SuperClass{ int x;
SuperClass(){ x = 3;
System.out.println(\ }
void doSomething(){
System.out.println(\ } }
class SubClass extends SuperClass{ int x;
SubClass(){ super(); x = 5;
第 18 页
5分) ( 《Java程序设计》
System.out.println(\ }
void doSomething(){ super.doSomething();
System.out.println(\
System.out.println(\ } }
public class Inheritance{
public static void main(String[] args){ SubClass subC = new SubClass(); subC.doSomething(); } }
答:运行结果:
in SuperClass:x=3(2分) in SubClass:x=5(2分)
in SuperClass.doSomething()(2分) in SubClass.doSomething()(2分) super.x=3 sub.x=5(2分) 13.阅读如下程序,写出运行结果。
class StaticDemo {
static int x; int y;
public static int getX() { return x; }
public static void setX(int newX) { x=newX; } public int getY() {return y;}
public void setY(int newY) {y=newY; } }
public class MainDemo {
public static void main(String[] args) { System.out.println(\静态变量x=\ StaticDemo a=new StaticDemo(); StaticDemo b=new StaticDemo(); a.setX(1); a.setY(2);
第 19 页
《Java程序设计》
b.setX(3); b.setY(4); System.out.println(\静态变量a.x=\ System.out.println(\实例变量a.y=\ System.out.println(\静态变量a.x=\ System.out.println(\实例变量a.y=\ } }
答:运行结果:
静态变量x=0(2分) 静态变量a.x=3(2分) 实例变量a.y=2(2分) 静态变量a.x=3(2分) 实例变量a.y=4(2分)
14. 观察下面程序的运行结果,注意try语句中产生的异常与catch参数的匹配。 public class Test2{ static int a = 3,b = 0;
static String c[] = {\数组元素c[0]\ public static void main(String[] args){ try{
System.out.println(a); System.out.println(a/b);
System.out.println(c[b]);//若上条语句产生异常,本语句将不被运行 }
catch(ArithmeticException e){
System.out.println(\捕捉到一个算术异常\ }
catch(ArrayIndexOutOfBoundsException e){
System.out.println(\捕捉到一个数组下标越界异常\ }
catch(Exception e){
System.out.println(\捕捉到一个系统异常\ }
finally{
System.out.println(\程序结束\ } } }
答:运行结果: 3(2分)
捕捉到一个算术异常(2分) 程序结束(2分)
第 20 页