Capítulo 11 La primera pregunta (clase Triangle) (clase Triangle)

Capítulo 11 La primera pregunta (clase Triangle) (clase Triangle)

  • 11.1 (clase Triangle) Diseñe una clase llamada Triangle para heredar la clase GeometricObject. Esta categoría incluye:

    • Tres campos de datos de tipo doble denominados side1, side2 y side3 representan los tres lados de este triángulo y su valor predeterminado es 1.0.
    • Un método de construcción sin argumentos crea un triángulo predeterminado.
    • Un método de construcción para crear triángulos con valores de side1, side2 y side3 especificados.
    • Métodos de acceso para los tres campos de datos.
    • Un método llamado getArea () devuelve el área del triángulo.
    • Un método llamado getPerimeter () devuelve el perímetro del triángulo.
    • Un método llamado toString () devuelve una descripción de cadena del triángulo.

    Consulte el ejercicio de programación 2.19 para conocer la fórmula para calcular el área de un triángulo. La implementación del método toString () es la siguiente:
    return "Create on" + super.getDateCreated () + "\ ncolor:" + super.getColor () + "\ nArea:" + this.getArea () + "\ nPerimeter: "+ this.getPerimeter ();
    Dibuje los diagramas UML de la clase Triangle y la clase GeometricObject, e implemente estas clases. Escriba un programa de prueba que le pida al usuario que ingrese los tres lados del triángulo, el color y un valor booleano para indicar si el triángulo está relleno. El programa necesita crear un triángulo con lados especificados según la entrada y establecer el atributo de relleno de color Laker. El programa debe mostrar el área, el perímetro, el color y los valores verdaderos o falsos que indiquen si se debe llenar.
    11.1 (Clase Triangle) Diseña una clase llamada triángulo para heredar la clase geometricobject. Esta categoría incluye:

    • Tres campos de datos dobles llamados side1, side2 y side3 representan los tres lados del triángulo, y su valor predeterminado es 1.0.
    • Un método de construcción no paramétrico que crea un triángulo predeterminado.
    • Un método de construcción para crear triángulos con valores de side1, side2 y side3 especificados.
    • Métodos de acceso para los tres dominios de datos.
    • Un método llamado getarea () devuelve el área del triángulo.
    • Un método llamado getperimeter () devuelve el perímetro del triángulo.
    • Un método llamado tostring () devuelve la descripción de la cadena del triángulo.

    La fórmula para calcular el área del triángulo se refiere al ejercicio de programación 2.19. El método tostring () se implementa de la siguiente manera:
    return "Create on" + super.getDateCreated () + "\ ncolor:" + super.getColor () + "\ nArea:" + this.getArea () + "\ nPerimeter: "+ this.getPerimeter ();
    Dibuje el diagrama UML de la clase triangular y la clase geometricobject, e implemente estas clases. Escriba un programa de prueba, solicite al usuario que ingrese tres lados del triángulo, el color y un valor booleano para indicar si el triángulo está lleno o no. El programa necesita crear un triángulo con el borde especificado de acuerdo con la entrada y establecer la propiedad de relleno de color. El programa necesita mostrar área, perímetro, color y valores verdaderos o falsos que indiquen si se debe llenar。

  • Código de referencia:

package chapter11;

public class Code_01 {
    
    
    public static void main(String[] args) {
    
    
        Triangle triangle = new Triangle();
        System.out.println(triangle.toString());
    }
}
class SimpleGeometricObject {
    
    
    private String color = "white";
    private boolean filled;
    private java.util.Date dateCreated;

    /** Construct a default geometric object */
    public SimpleGeometricObject() {
    
    
        dateCreated = new java.util.Date();
    }

    /** Construct a geometric object with the specified color
     *  and filled value */
    public SimpleGeometricObject(String color, boolean filled) {
    
    
        dateCreated = new java.util.Date();
        this.color = color;
        this.filled = filled;
    }

    /** Return color */
    public String getColor() {
    
    
        return color;
    }

    /** Set a new color */
    public void setColor(String color) {
    
    
        this.color = color;
    }

    /** Return filled. Since filled is boolean,
     its get method is named isFilled */
    public boolean isFilled() {
    
    
        return filled;
    }

    /** Set a new filled */
    public void setFilled(boolean filled) {
    
    
        this.filled = filled;
    }

    /** Get dateCreated */
    public java.util.Date getDateCreated() {
    
    
        return dateCreated;
    }

    /** Return a string representation of this object */
    public String toString() {
    
    
        return "created on " + dateCreated + "\ncolor: " + color + " and filled: " + filled;
    }
}

class Triangle extends SimpleGeometricObject{
    
    
    private double side1 = 1.0;
    private double side2 = 1.0;
    private double side3 = 1.0;

    public Triangle(){
    
    
        super();
        side1 = side2 = side3 = 1.0;
    }
    public Triangle(double side1,double side2,double side3){
    
    
        super();
        this.side1 = side1;
        this.side2 = side2;
        this.side3 = side3;
    }
    public double getSide1(){
    
    
        return side1;
    }
    public double getSide2(){
    
    
        return side2;
    }
    public double getSide3(){
    
    
        return side3;
    }
    public double getArea(){
    
    
        double p = (side1 + side2 + side3) / 2;
        return Math.sqrt(p * (p - side1) * (p - side2) * (p - side3));
    }
    public double getPerimeter(){
    
    
        return side1 + side2 + side3;
    }

    @Override
    public String toString(){
    
    
        return "Create on " + super.getDateCreated() + "\ncolor: " + super.getColor() + "\nArea: " + this.getArea() + "\nPerimeter: " + this.getPerimeter();
    }
}

  • Los resultados muestran que:
Create on Tue Oct 27 08:46:41 CST 2020
color: white
Area: 0.4330127018922193
Perimeter: 3.0

Process finished with exit code 0

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/jxh1025_/article/details/109303354
Recomendado
Clasificación