实验三 类和对象
实验三 类和对象
实验内容
完成如下任务或编写能够满足如下条件的程序:
1、创建一个简单的表示矩形的Rectangle类,满足以下条件:
[1]定义两个成员变量height和width,表示矩形的长和宽,类型为整型
[2]定义一个getArea方法,返回矩形的面积
[3]定义一个getPerimeter方法,返回矩形的周长
[4]在main函数中,利用输入的2个参数分别作为矩形的长和宽,调用getArea和getPermeter方法,计算并返回矩形的面积和周长
输入:
输入2个正整数,中间用空格隔开,分别作为矩形的长和宽,例如:5 8
输出:
输出2个正整数,中间用空格隔开,分别表示矩形的面积和周长,例如:40 26
2、编写一个表示二维平面上的点的类MyPoint,满足以下条件:
[1]定义private的成员变量x和y,表示点的x和y坐标,类型为double
[2]定义两个MyPoint的构造方法,一个构造方法不带参数,而且x和y的初始值为0,另一个构造方法有两个参数,参数名为x和y,类型为double,用这两个参数分别作为初始x和y坐标
[3]定义一个getD方法,有一个类型为MyPoint的对象参数,功能为返回当前对象和参数对象这两个坐标点的距离,返回值为double类型
[4]编写测试的main方法,调用getD计算两个点之间的距离
输入:
输入2行数据, 总共4个有理数。每2个数据一组,表示一个点的x和y坐标,每行的2个数据用空格隔开。例如:
200.1 200.2
200.3 200.4
输出:
输出两个点之间的距离。例如:
0.28284271247464315
package 实验三;
import java.util.Scanner;
public class 问题一 {
public static void main(String args[]) {
Rectangle r = new Rectangle();
Scanner sc = new Scanner(System.in);
r.height = sc.nextInt();
r.width = sc.nextInt();
sc.close();
System.out.println(r.GetArea() + " " + r.GetPermeter());
return;
}
}
class Rectangle
{
int height,width,area,permeter;
int GetArea() {
area=height*width;
return area;
}
int GetPermeter() {
permeter=(height+width)*2;
return area;
}
}
package 实验三;
import java.util.Scanner;
public class 问题二 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
MyPoint a = new MyPoint(in.nextDouble(), in.nextDouble());
MyPoint b = new MyPoint(in.nextDouble(), in.nextDouble());
System.out.println(a.getD(b));
}
}
class MyPoint {
private double x;
private double y;
MyPoint(){
x = 0;
y = 0;
}
MyPoint(double x, double y){
this.x = x;
this.y = y;
}
double getD(MyPoint b) {
double xd = this.x - b.x;
double yd = this.y - b.y;
return Math.sqrt(xd * xd + yd * yd);
}
}