Java关于最近学习内容的小练习

Java关于最近学习内容的小练习,第1张

目录

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));

    }
}

结果:  

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/874134.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-13
下一篇2022-05-13

发表评论

登录后才能评论

评论列表(0条)

    保存