有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java我想知道为什么当我在末尾得到字符串输出时,周长没有被计算并放入字符串中

我正在尝试我的第一种方法。 我无法让周界以String的形式显示输出。我想知道为什么会这样。我很可能在我的代码中还有其他问题,但目前阻碍我前进的是外围不输出

下面是我的代码

public class Polygon {

    public Polygon() {
        int numSides = 4;
        double SideLength = 5.0;
        double xCoord = 0.0;
        double yCoord = 0.0;
        double apothem = 5.0;
        double perimeter = 20.0;
    }

    private int numSides = 2;
    private double SideLength = 2;
    private double xCoord;
    private double yCoord;
    private double apothem;
    private double perimeter;
    private double area;

    public Polygon(int numsides, double sideLength, double xcoord, double ycoord, double Apothem, double Perimeter) {
        SideLength = sideLength;
        numSides = numsides;
        xCoord = xcoord;
        yCoord = ycoord;
        apothem = Apothem;
        perimeter = Perimeter;
    }

    public int getnumsides() {
        return numSides;
    }

    public double getSideLength() {
        return SideLength;
    }

    public double getxcoord() {
        return xCoord;
    }

    public double getycoord() {
        return yCoord;
    }

    public double getApothem() {
        return apothem;
    }

    public double getPerimeter() {
        return numSides * SideLength;
    }

    public void setsideLength(double ssideLength){
        SideLength = ssideLength;
    }

    public void setnumsides(int snumsides){
        numSides = snumsides;
    }

    public void setxcoord(double sxcoord){
        xCoord = sxcoord;
    }

    public void setycoord(int sycoord){
        yCoord = sycoord;
    }

    public void setApothem(int sApothem){
        apothem = sApothem;
    }

    public void setPerimeter(int sPerimeter){
        perimeter = sPerimeter;
    }

    public String toString() {
        String str = numSides + " is the number of sides the polygon has and " + SideLength + " is how long the sides are. "+ xCoord + " is how long the x coordinate is and " + yCoord + " is how long the y coordinate is. " + apothem + " is the apothem of the polygon and " + perimeter + " is the perimeter of the polygon."; 
        return str; 
    }

    public void getArea() {
        area = .5 * apothem * perimeter;

    }
}

共 (2) 个答案

  1. # 1 楼答案

    “周长不输出”是什么意思

    也许这就是你想要实现的

    public static void main(String[] args){
            Polygon p = new Polygon();
            double perimeter = p.getPerimeter();
            System.out.println("Perimeter is " + perimeter);
        }
    
  2. # 2 楼答案

    您再次在Polygon()构造函数中定义相同的字段变量,这不是必需的,因为您已经将它们定义为私有类成员。这就是为什么在打印toString()方法时将某些值设置为默认值的原因

    您的Polygon()构造函数应如下所示:

        public Polygon() {
            numSides = 4;
            SideLength = 5.0;
            xCoord = 0.0;
            yCoord = 0.0;
            apothem = 5.0;
            perimeter = 20.0;
        }