}
A.将private int m改为protected int m B.将private int m改为public int m C.将phvate int m改为static int m D.将private int m改为int m
三、程序阅读题
1.阅读下面的程序,程序保存为Test.java:
1. public class Test{ 2. short mValue;
3. public static void main(String[] args){ 4. int a=32; 5. int b=56;
6. Test os=new Test (a+b); 7. os.Show (); 8. }
9. protected Test (short aValue) { 10. mValue= aValue; 11. }
12. public void Show() {
13. System. out .println (mValue); 14. } 15. }
上面的程序编译是否成功?如果编译出错,指出哪行出错,并说明理由;如果编译正确,运行结果是什么?
2.阅读下面的程序:
1 public class Test{
2 public static void main (String argv [ ] ) { 3 Bird b=new Bird(); 4 b. fly (3); 5 } 6 }
7 class Bird{
8. static int Type=2;
9. private void fly(int an_Type) { 10. Type= an_Type;
11. System. out .println (\12. } 13. }
6
上面的程序编译是否成功?如果编译出错,指出哪行出错,并说明理由;如果编译正确, 运行结果是什么?
3.仔细阅读下面的程序代码,若经编译和运行后,请写出打印结果。 class StaticTest { static int x=l; int y;
StaticTest () { y++; }
public static void main (String args [] ) { StaticTest st=new StaticTest (); System.out.println (\
System. out.println (\ st=new StaticTest ();
System.out.println (\ System. out.println (\}
static { x++; }
4.写出下列程序代码的运行结果。
public class PassTest{ float ptValue;
public void changeInt(int value){ value=il; }
public void changeStr(String value){ value=new String(\ }
public void changeObjValue( PassTest ref){ ref.ptValue=22; }
public static void main(String args[ ] ){ String str; int val;
PassTest pt=new PassTest(); val=33;
pt.changeInt (val);
System.out.println(\ str=new String (\ pt.changeStr (str);
System. out.println(\ pt.ptValue=44;
7
pt.changeObjValue(pt);
System.out.println(\;
} }
5.写出下列程序代码的运行结果:
class Test {
public static String ss=\杭州电子科技大\ public String ms= \计算机学院\ public void printInfo () {
System. out.println (\ }
public static void main (String [] args) { Test obj1, obj2; obj1=new Test(); obj2=new Test();
obj1.ss=\浙江工业大学\obj1.ms= \软件学院\obj1.printInfo(); obj2.printInfo(); } }
6.阅读以下程序,回答问题。 package packagel; class ClassA{
public void printInfo(){
System.out.println (\ } }
package package2;
import packagel.ClassA; public class ClassB{
public static voidmain(String [] args){ new ClassA().printInfo(); } }
(1)上面两个类是在同一个源程序文件中吗?
(2)以上程序编译是否正常?若编译正常则运行结果是什么?
8
7.阅读下面程序,修改程序中错误的地方(提示:共三处)。 1. class Person{ 2. String name; 3. int age; 4. String sex;
5. public Person(String name,int age,String sex){ 6. this.name=name; 7. this.age=age; 8. this.sex=sex; 9. }
10. public void toString(){
11. return \12. } 13. }
14. public class TestPerson{
15. public static void main(String args[]){ 16. Person p=new Person(); 17. p.name=\张三\18. p.age=20; 19. p.sex=\男\
20. System. out.println (Person.tostring ()); 21. } 22. }
8.写出下列程序代码的运行结果。 public class Test( int x=4;
public static void main (String argv [ ] ) { Test t=new Test (); t.x++;
change (t);
System.out.println (t.x); }
static void change (Test m) { m.x+=2; } }
四、编程题.
1.编写一个Java程序Suansu.java,定义两个整型变量a和b,使用构造方法初始化a为10,b为5,并定义求出a与b的和(方法名为AddAB)、差(方法名为SubAB)、积(方法名为MultiAB)、商(方法名为DivAB)的方法。用另一个Java程序TestSuansu.java测词Suansu.java定义的方法,并在屏幕上输出结果。
9
2.创建一个名为Rectangle的类来表示一个使用宽度和高度来改变量的矩形,矩形的宽度和高度由构造方法来确定。为Rectangle类创建下列方法:
getArea返回矩形的面积,要求长和高的范围为0-50; getPerimeter返回矩形的周长;
draw使用星号(*)作为描绘字符画出该矩形(假设宽度和高度为整数); 在另一个类TestRectangle中编写main方法来测试Rectangle类。 3.根据以下的设计要求编写Java源代码。
类名:Student
变量(访问权限均为private):
name,//表示为姓名,类型为String age,//表示年龄,类型为int 方法如下。
(1)构造方法(没有参数,设置姓名为“无名氏”,年龄为20)。
(2)setName(有一个名为name的String型参数,将name的值设为这个新值)。 (3)getName(没有参数,返回姓名);
(4)setAge(有一个名为age的int型参数,将age的值设为这个新值)。 (5)getAge(没有参数,返回年龄)。
(6)isSameAge(有一个参数s,是另一个Student对象的引用,如果两个Student对象的age相同,则返回true,否则返回false)。
4.编写一个复数类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为虚部的初值。
ComplexcomplexADD(Complexa)将当前复数对象与形参复数对象相加,所得的结果 仍是一个复数值,将其返回给此方法的调用者。
StringtoString()把当前复数对象的实部、虚部组合成a+bi的字符串形式,其中,a和b分别为实部和虚部的数据。
5.编写一个表示二维平面上的点的类MyPoint,满足以下条件。
(1)定义private的成员变量x和y,表示点的x和y坐标,类型为整数。
(2)定义两个MyPoint的构造方法,一个构造方法不带参数,且x和y的初始值为0,另一个构造方法有两个参数,参数名为x和y,类型为整数,用这两个参数分别作为初始x和y的坐标。
(3)定义一个getD方法,功能为返回两个坐标点(由MyPoint定义)距离,值为float类型。
(4)编写main方法,打印坐标点(2,3)到点(4,5)的距离。
6。编写一个公共(public)类,类名为AccountUtil,该类属于account包,类中包含一个公用静态方法toSeparateNumber,该方法以一个十进制字符串为参数,返回用逗号隔开的
10
数字字符串,分隔从右边开始,每三个数字用一个逗号隔开。例如,若参数为2367548,则返回2,367,548。若参数为小数,则分隔从小数点开始,例如,若参数为2367548.85,则返回2,367,548.85。
根据以下说明,编写一个银行账户类Account,并编写一个main方法,对Account类进行测试,在main方法中要调用Account的所有方法,发生异常时,要打印异常信息。该类的成员变量如下表所示(访问权限均为private)。
7.编写两个类,classA属于包package1,classA中有一个方法methodA();classB属于包package2,在classB的方法methodB()中调用classA的methodA()方法。每个方法简单地输出方法名即可。
8.编写一个三角形类,能根据3个实数构造三角形对象,如果3个实数不满足三角形的条件,则自动构造以最小值为边的等边三角形。输入任意3个数,输出构造的三角形面积。
11