首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我找不到显示triangle.setColor('yelow')和Triangle.setFillet(true)的方法

我找不到显示triangle.setColor('yelow')和Triangle.setFillet(true)的方法
EN

Stack Overflow用户
提问于 2021-02-21 11:49:16
回答 2查看 88关注 0票数 0

我对Triangle类有两个问题。当我测试程序时,我能够显示所有的结果,但我仍然可以获得颜色和填充true/false。我将输出放在末尾,这样您就可以看到发生了什么。

我试着解决这个问题,添加了即时变量b o lean填充;然后在构造函数中尝试添加边、字符串颜色和b o lean填充,然后尝试在主系统中添加print ln (三角形get find ()),但我仍然无法找到答案。我也尝试了重写get Color和Get find,但我仍然可以找到正确的解决方案。

编写一个测试程序,创建一个三角形对象,并显示(1)面积,(2)周长,(3)颜色和(5)是否填充。

代码语言:javascript
复制
// Coding:
public class Exercise11_01 {
    public static void main(String[] args) {
        Triangle triangle = new Triangle(1, 1.5, 1);
        triangle.setColor("yellow"); // No display in the output
        triangle.setFilled(true); // No Display in the output
             
        System.out.println(triangle);
        System.out.println("The area is " + triangle.getArea());
        System.out.println("The perimeter is "  + triangle.getPerimeter());
        System.out.println(triangle);
    }    
}

// superclass: GeometricObject
package geometricobject;
import java.util.Date;

public class GeometricObject {
    String color = "white";
    boolean filled;
    private java.util.Date dateCreated;
    
    
    /** Construct a default geometric object */
    public GeometricObject(){
        dateCreated = new java.util.Date();
    }

    /** Construct a geometric object with the specific color and filled value */
    public GeometricObject(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 getter 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;
    }
}

//subclass-extends: Triangle
package geometricobject;

/**
 *
 * @author
 */
public class Triangle extends GeometricObject {
    // Instant Variables
    private double side1;
    private double side2;
    private double side3;
    //boolean filled;
    
    public Triangle() {
        //super();
        this.side1 = 1.0;
        this.side2 = 1.0;
        this.side3 = 1.0;
    }
    public Triangle(double side1, double side2, double side3) { // , String color, boolean filled)
        //super(color, filled);
        
        this.side1 = side1;
        this.side2 = side2;
        this.side3 = side3;
        
        setColor(color);
        setFilled(filled);
    }

    public double getSide1() {
        return side1;
    }

    public void setSide1(double side1) {
        this.side1 = side1;
    }

    public double getSide2() {
        return side2;
    }

    public void setSide2(double side2) {
        this.side2 = side2;
    }

    public double getSide3() {
        return side3;
    }

    public void setSide3(double side3) {
        this.side3 = side3;
    }
    
    public double getArea(){
        double s = (side1 + side2 + side3) / 2.0;
        return Math.pow(s * (s - side1) * (s - side2) * (s - side3), 0.5);
    }

    public double getPerimeter(){
        return side1 + side2 + side3;
    }

    @Override
    public String toString(){
        return "\nTriangle: side1 = " + side1 + " ,  side2 = " + side2 + 
                " , side3 = " + side3;
    }
}

//我的输出:三角形: side1 = 1.0,side2 = 1.5,side3 = 1.0面积为0.49607837082461076周长为3.5

三角形: side1 = 1.0,side2 = 1.5,side3 = 1.0构建成功(总时间:0秒)

EN

回答 2

Stack Overflow用户

发布于 2021-02-21 14:07:04

根据我的评论,您可以使用从GeometricObject类继承的任何方法。要获得填充和颜色,您可以简单地使用:

代码语言:javascript
复制
System.out.println("The triangle is filled: "  + triangle.isFilled());
System.out.println("The color is " + triangle.getColor());

如下所示:

代码语言:javascript
复制
Triangle triangle = new Triangle(1, 1.5, 1);
triangle.setColor("yellow");
triangle.setFilled(true);

System.out.println(triangle);
System.out.println("The area is " + triangle.getArea());
System.out.println("The perimeter is "  + triangle.getPerimeter());
System.out.println("The triangle is filled: "  + triangle.isFilled());
System.out.println("The color is " + triangle.getColor());

输出显示了有关填充和颜色的额外信息:

代码语言:javascript
复制
Triangle: side1 = 1.0 ,  side2 = 1.5 , side3 = 1.0
The area is 0.49607837082461076
The perimeter is 3.5
The triangle is filled: true
The color is yellow
票数 1
EN

Stack Overflow用户

发布于 2021-02-22 02:28:22

在我的三角形程序中解决问题。在我的源包中,我有几个与GeometricObject相关的程序和几个测试程序,当我试图运行它时,它们会禁用一些三角形程序的功能。在我清理/删除这些测试程序后,再次运行您的答案。这个程序显示了我需要的所有信息。我刚刚了解到,我需要创建一个新的源包,以避免错误,这些错误会花费我大量的时间来找出问题。下面的三角形程序有其他额外的实现,并删除了一些在这种情况下不必要的方法。

代码语言:javascript
复制
package geometricobject;
import java.util.Date;

public class GeometricObject {
    String color = "white";
    boolean filled;
    private java.util.Date dateCreated;
    
    
    /** Construct a default geometric object */
    public GeometricObject(){
        dateCreated = new java.util.Date();
    }

    /** Construct a geometric object with the specific color and filled value */
    public GeometricObject(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 getter 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;
    }
}


package geometricobject;

// Create a Triangle class.
public class Triangle extends GeometricObject {
    // Instant Variables
    // data fields: Three double sides 1, 2, and 3.
    private double side1;
    private double side2;
    private double side3;
        
    // Construct a default Triangle object - No arg.
    public Triangle() {
        this.side1 = 1.0;
        this.side2 = 1.0;
        this.side3 = 1.0;
    }
    
    // Construct a Triangle Object with the specified side1, side2, and side3.
    public Triangle(double side1, double side2, double side3) { 
        this.side1 = side1;
        this.side2 = side2;
        this.side3 = side3;
        
        setColor(color);
        setFilled(filled);
    }
    
    // Define Accessors 
    // Return side1
    public double getSide1() {
        return side1;
    }
    // Return side2
    public double getSide2() {
        return side2;
    }
    // Return side3
    public double getSide3() {
        return side3;
    }
    
    // Calculate the triangle's area.
    // Return area.
    public double getArea(){
        double s = (side1 + side2 + side3) / 2.0;
        return Math.pow(s * (s - side1) * (s - side2) * (s - side3), 0.5);
    }
    
    // Return the Triangle's perimeter.
    public double getPerimeter(){
        return side1 + side2 + side3;
    }

    // Return the string (toString Method) representing the triangle's sides. 
    @Override
    public String toString(){
        return "\nTriangle: side1 = " + side1 + " ,  side2 = " + side2 + 
                " , side3 = " + side3;
    }
}

package geometricobject;

public class Exercise11_01 {
    public static void main(String[] args) {
        Triangle triangle = new Triangle(1, 1.5, 1);
        triangle.setColor("yellow");
        triangle.setFilled(true);

        System.out.println(triangle);
        System.out.println("The area is " + triangle.getArea());
        System.out.println("The perimeter is "  + triangle.getPerimeter());
        System.out.println("The triangle is filled: "  + triangle.isFilled());
        System.out.println("The color is " + triangle.getColor());
    }    
}

输出:

代码语言:javascript
复制
Triangle: side1 = 1.0 ,  side2 = 1.5 , side3 = 1.0
The area is 0.49607837082461076
The perimeter is 3.5
The triangle is filled: true
The color is yellow
BUILD SUCCESSFUL (total time: 0 seconds)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66298962

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档