Java实验四

《Java程序设计》课程第四周实验题目和代码。

第一题

编写一个类 computePower,类中提供两个重载的静态函数,分别实现了两个
参数各自的平方运算,并能够输出平方后的计算结果。
要求 I(第 1 个重载的静态函数,基本数据类型值传递方式):
(1)新建一个测试类 computePowerTest,在主函数中准备两个 double 型参数
的值;
(2)调用第一个静态方法 compPower,采用基本数据类型值传递的方式,
计算传入的两个参数平方,并分别在静态方法和主函数中输出两个参数的值;
要求 II(第 2 个重载的静态函数,引用型数据类型值传递方式):
(1)定义一个类 Parameter,拥有两个成员变量 a 和 b,存储两个 double 型变
量;
(2)在主函数中创建一个 Parameter 类对象,并调用第二个静态方法,以引
用数据类型值传递的方式,计算传入的 Parameter 对象中两个参数的平方,并把
平方和计算结果放入 Parameter 类所创建的对象的第 1 个成员变量 a 中。最后,
分别在静态方法和主函数中输出传递参数和引用参数中对象的两个变量参数值。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
//编写一个类 computePower,类中提供两个重载的静态函数,分别实现了两个
//参数各自的平方运算,并能够输出平方后的计算结果。
//要求 I(第 1 个重载的静态函数,基本数据类型值传递方式):
//(1)新建一个测试类 computePowerTest,在主函数中准备两个 double 型参数
//的值;(2)调用第一个静态方法 compPower,采用基本数据类型值传递的方式,
//计算传入的两个参数平方,并分别在静态方法和主函数中输出两个参数的值;
//要求 II(第 2 个重载的静态函数,引用型数据类型值传递方式):
//(1)定义一个类 Parameter,拥有两个成员变量 a 和 b,存储两个 double 型变
//量;(2)在主函数中创建一个 Parameter 类对象,并调用第二个静态方法,以引
//用数据类型值传递的方式,计算传入的 Parameter 对象中两个参数的平方,并把
//平方和计算结果放入 Parameter 类所创建的对象的第 1 个成员变量 a 中。最后,
//分别在静态方法和主函数中输出传递参数和引用参数中对象的两个变量参数值。

//Parameter类
class Parameter{
private double a ,b; //私有成员变量a,b

//修改a的值
void setA(double a ){
this.a=a;
}
//修改b的值
void setB(double b) {
this.b=b;
}
//获取a的值
double getA() {
return a;
}
//获取b的值
double getB() {
return b;
}

}

//computePower类
class computePower{

//计算a的平方,b的平方
static void compPower(double a1,double b1) {
System.out.println("in static function,two perimeters are: "+a1+","+b1);
System.out.println("in static function,result is : "+a1*a1+","+b1*b1);
}
//计算对象a的两个成员变量的平方
static void compPower(Parameter a) {
System.out.println("in static function,two perimeters are: "+a.getA()+","+a.getB());
double m,n;
m=a.getA();
n=a.getB();
System.out.println("in static function,result is : "+m*m+","+n*n);
a.setA(m*m+n*n);
}
}

//测试类
public class computePowerTest {
public static void main(String []args) {

double a=3.5,b=7.2;
System.out.println("in main function,two perimeters are: "+a+","+b);

computePower c=new computePower(); //创建computePower类c
c.compPower(a, b); //计算a的平方,b的平方
Parameter p=new Parameter(); //创建Parameter类p
p.setA(6.5); //设置P的成员变量a的值
p.setB(8.8); //设置P的成员变量b的值
c.compPower(p); //计算对象p的成员变量的平方
double m,n;
m=p.getA(); //获取对象p的成员变量a的值
n=p.getB(); //获取对象p的成员变量b的值
System.out.println("in main function,after computing,p's two perimeters are: "+m+","+n);





}

}

第二题

编写一个类,定义两个成员变量 x 和 y,其中 x 为类变量(double 型),y
为实例变量(int 型),并分别实现变量 x 和 y 的设置与获取方法。
(1)请分别在类中定义设置和获取 x 与 y 的类方法和实例方法;
(2)创建一个新类,在主函数中构建第一个类的 2 个对象,通过第一个类中设
置方法,分别为 2 个对象的 x 和 y 赋值,并显示 2 个对象的 x 和 y 值。
要求:静态变量的设置与获取对应用静态方法实现。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
//2,定义两个成员变量 x 和 y,其中 x 为类变量(double 型),y
//为实例变量(int 型),并分别实现变量 x 和 y 的设置与获取方法。
//(1)请分别在类中定义设置和获取 x 与 y 的类方法和实例方法;
//(2)创建一个新类,在主函数中构建第一个类的 2 个对象,通过第一个类中设
//置方法,分别为 2 个对象的 x 和 y 赋值,并显示 2 个对象的 x 和 y 值。
class test{
private static double x;
int y;

static void setX(double a) {
x=a;
System.out.println("x is set to: "+x);
}
void setY(int b) {
y=b;
System.out.println("y is set to: "+y);
}
static double getX() {
return x;
}
int getY() {
return y;
}
}

public class P2 {
public static void main(String []args) {
test t1=new test();
t1.setX(5.5);
t1.setY(5);
double a =t1.getX();
int b=t1.getY();
System.out.println("t1's x="+a+" , y="+b);

test t2=new test();
t2.setX(8.7);
t2.setY(10);
double a1 =t2.getX();
int b1=t2.getY();
System.out.println("t2's x="+a1+" , y="+b1);

}

}

第三题

编写一个 Java 程序,用于计算二维平面空间中一条直线的长度。
要求: (1)创建一个类(Point),用于描述二维空间中的点(横坐标和纵坐标皆
为 int 型) ;( 2)创建一个类(Line),用于描述二维空间中的一条直线,要求利
用前面定义的 Point 创建一个直线,并通过 Java 的 Math 类中静态方法计算一条
直线的距离;(3)创建一个新类,在主函数中输入一条二维空间中的直线信息,
计算并输出直线长度。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
//3、 编写一个 Java 程序,用于计算二维平面空间中一条直线的长度。
//要求:
//(1)创建一个类(Point),用于描述二维空间中的点(横坐标和纵坐标皆为 int 型);
//(2)创建一个类(Line),用于描述二维空间中的一条直线,要求利用前面定义的 Point 创建一个直线,并通过 Java 的 Math 类中静态方法计算一条直线的距离;
//(3)创建一个新类,在主函数中输入一条二维空间中的直线信息,计算并输出直线长度。


class Point{
private double a,b;
Point(){
a=0;
b=0;
}
Point(double a,double b){
this.a=a;
this.b=b;
}
void setA(double a) {
this.a=a;
}
void setB(double b) {
this.b=b;
}
double getA()
{
return a;
}
double getB() {
return b;
}
}

class Line{
static Point p1=new Point();
static Point p2=new Point();
Line(double x1,double y1,double x2,double y2){
p1.setA(x1);
p1.setB(y1);
p2.setA(x2);
p2.setB(y2);
}
Line(){

}

static double computeDistance() {
double d;
d=Math.sqrt(Math.pow((p1.getA()-p2.getA()), 2)+Math.pow(p1.getB()-p2.getB(), 2));
return d;

}

}



public class P3 {
public static void main(String []args) {
Line l=new Line(4,5.5,6,7.8);
double d =l.computeDistance();
System.out.println("the line l's length is: "+d);
}

}


打赏
  • © 2025 Aoxue
  • Hexo Theme Ayer by shenyu
    • PV:
    • UV:

请我喝杯咖啡吧~

支付宝
微信