gpt4 book ai didi

java - 如何处理 Java 中的空参数?

转载 作者:行者123 更新时间:2023-11-29 09:40:41 25 4
gpt4 key购买 nike

我有一个简单的程序,它读取参数参数并将它们作为结果输出。

例如,如果我使用:

Rectangle r1 = new Rectangle(1.0, 2.0, "RED", false);
System.out.println(r1);

应该返回:

1.0 x 2.0, color: RED

但是如果我输入以下参数会怎样:

Rectangle r8 = new Rectangle();
System.out.println(r8);

当使用上述参数时,我的程序如何输出以下默认结果?

1.0 x 1.0, filled with RED

这是我的部分代码:

public class Rectangle extends Shape {

protected double width;
protected double length;

public Rectangle() {
super();
}

public Rectangle(double width, double length) {
super();
this.width = width;
this.length = length;
}

public Rectangle(double width, double length, String color, boolean filled) {
super(color, filled);
this.width = width;
this.length = length;
}

public double getWidth() {
return width;
}

public void setWidth(double width) {
this.width = width;
}

public double getLength() {
return length;
}

public void setLength(double length) {
this.length = length;
}

public double getArea() {
return (width * length);
}

public double getPerimeter() {
return (2 * (width + length));
}

public String toString() {
if (super.isFilled()) {
return width + " x " + length + ", " + "filled with RED";
} else {
return width + " x " + length + ", " + "color: RED";
}
}
}

我尝试使用 if (width = 0){} 作为宽度,但由于它是原始类型,所以它不起作用...谁能告诉我如果一个空参数是,我如何打印出默认值用过的 ?帮助将不胜感激...谢谢!

最佳答案

您可以在无参数构造函数中设置默认值:

public Rectangle() {
super("RED", true);
this.width = 1.0;
this.length = 1.0;
}

或者您可以在成员声明中分配默认值:

protected double width = 1.0;
protected double length = 1.0;

并且为 Shape 成员有一个带有默认值的类似声明。

或者您可以从无参数构造函数调用不同的构造函数,如 Seelenvirtuose 所建议的那样:

public Rectangle() {
this(1.0, 1.0, "RED", true);
}

关于java - 如何处理 Java 中的空参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31912783/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com