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