
目录
1.给三角形类Triangle添加构造方法并测试
2.测试圆的面积
3.重写Animal的equals()方法,然后进行测试
4.针对不同几何图形计算周长与面积
1.给三角形类Triangle添加构造方法并测试
添加无参构造方法 public Triangle() {}
添加三参构造方法 public Triangle(double a, double b, double c) {}
创建测试类TestTriangle,利用无参构造方法与三参构造方法创建三角形对象,设置对象属性,调用获取面积方法getArea(),输出两个三角形的面积
public class Triangle {
double a,b,c;
public double getA() {
return a;
}
public void setA(double a) {
this.a = a;
}
public double getB() {
return b;
}
public void setB(double b) {
this.b = b;
}
public double getC() {
return c;
}
public void setC(double c) {
this.c = c;
}
public Triangle() {//创建无参数构造方法
}
public Triangle(double a, double b, double c){//创建三参数构造方法
this.a=a;
this.b=b;
this.c=c;
}
public double getArea(){
double s=(a+b+c)/2;
return Math.sqrt(s*(s-a)*(s-b)*(s-c));
}
}
public class TestTriangle{
public static void main(String[] args) {
//创建三角形对象
Triangle tri=new Triangle(3,4,5);
tri.getArea();
System.out.println("三角形的面积为:"+tri.getArea());
}
}
结果:
2.测试圆的面积
2.1创建Circle类
定义双精度静态变量r
定义双精度静态常量PI = 3.1414926
定义访问静态变量r的静态方法setR()与getR()
定义获取圆面积的静态方法getArea()
2.2创建TestCircle类
添加静态代码块,输出“计算圆面积”
在主方法里从键盘输入圆半径
调用Circle的静态方法计算圆面积
输出圆面积,保留两位小数
/*
S=πr²或S=π·(d/2)²
*/
public class Circle {
double r;
double PI = 3.1415926;
public Circle(double r) {
this.r = r;
}
public double getR() {
return r;
}
public void setR(double r) {
this.r = r;
}
public String getArea() {
double value = PI * r * r;
return String.format("%.2f", value).toString();
}
}
import java.util.Scanner;
public class TestCircle {
public static void main(String[] args) {
System.out.println("计算圆的面积:");
Scanner sca=new Scanner(System.in);
System.out.print("请输入圆的半径为:");
double r=sca.nextDouble();
Circle cir=new Circle(r);
cir.getArea();
System.out.println("圆的面积为:"+cir.getArea());
}
}
结果:
3.重写Animal的equals()方法,然后进行测试当两只动物对象的name与age属性值都相等时,两只动物对象相等
创建TestAnimal类,实例化两只动物对象animal1与animal2,设置同样的name与age属性
输出两只动物对象animal1与animal2
输出animal1 == animal2 与 animal1.equals(animal2)的值
public class Animal {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Animal(String name,int age){//创建二参数构造方法
this.name=name;
this.age=age;
}
@Override
public String toString() {
return "Animal{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
public boolean equals(Animal c) {
//单纯的去写判断的逻辑
if (this.name == c.name&&this.age==this.age) {
return true;
} else {
return false;
}
}
}
public class TestAnimal {
public static void main(String[] args) {
Animal ani1=new Animal("欢欢",2);
Animal ani2=new Animal("欢欢",2);
System.out.println(ani1.toString());
System.out.println(ani2.toString());
System.out.println("ani1.equals(ani2)-->"+ani1.equals(ani2));
System.out.println("ani1==ani2-->"+(ani1==ani2));
}
}
结果:
4.针对不同几何图形计算周长与面积
1、创建Shape类,提供两个方法
double perimeter() —— 计算图形周长
double area() —— 计算图形面积
public class Shape {
public double perimeter() {
return 0;
}
public double area(){
return 0;
}
}
2、创建矩形类Rectangle
继承Shape类
包含双精度的长宽属性:a和b
【创建矩形并将周长和面积的计算方法写出来】
public class Rectangle extends Shape {
//矩形
double a, b;
public Rectangle(double a, double b) {
this.a = a;
this.b = b;
}
public double area() {
double Rectangle = (a + b) * 2;
return Rectangle;
}
public double perimeter() {
double Rectangle = a * b;
return Rectangle;
}
}
3、创建圆形类Circle
继承Shape类
包含双精度的半径属性:r
【创建圆形并将周长和面积的计算方法写出来】
public class Circle extends Shape{
//圆形
double r;
public Circle(double r) {
this.r = r;
}
public double area() {
return 3.14 * 2 * r;
}
public double perimeter() {
return 3.14 * r * r;
}
}
4、创建ShapeCalculation类,提供两个方法
double getPerimter(Shape shape); ——计算图形周长
double getArea(Shape shape); ——计算图形面积
【这里的作用是为了将矩形和圆形的周长和面积集中在一个类中,方便后面调用的时候只实例化一次】
public class ShapeCalculation {
public double getPerimter(Shape shape) {
return shape.perimeter();
}
public double getArea(Shape shape) {
return shape.area();
}
}
5、创建TestShapeCalculation类
实例化ShapeCalculation对象
输入矩形长与宽,计算其周长与面积
输入圆半径,计算其周长和面积
【注意逻辑,不要搞混了】
import java.util.Scanner;
public class TestShapeCalculation {
public static void main(String[] args) {
ShapeCalculation sc=new ShapeCalculation();
Scanner sac=new Scanner(System.in);
System.out.print("请输入a的值:");
double a=sac.nextDouble();
System.out.print("请输入b的值:");
double b=sac.nextDouble();
Shape Rectangle=new Rectangle(a,b);
System.out.println("矩形的周长为"+sc.getPerimter(Rectangle));
System.out.println("矩形的面积为"+sc.getArea(Rectangle));
System.out.print("请输入圆的半径:");
double r=sac.nextDouble();
Shape Circle=new Circle(r);
System.out.println("矩形的周长为"+sc.getPerimter(Circle));
System.out.println("矩形的面积为"+sc.getArea(Circle));
}
}
结果:
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)