Java 问题包含抽象、接口和异常
Java Question Containts Abstract, Interface and Exception
设计一个名为 Colorable
的接口,其中包含一个名为 howToColor()
的 void 方法。
设计一个 class 命名的三角形扩展 GeometricObject
并实现 Colorable
.
Triangle 实现 howToColor
方法来显示消息 "Color all three sides"。
三角形实现toString
方法来显示它的颜色和边。
在三角形中,任意两条边的和都大于另一条边。三角形 class 必须遵守此规则。创建 TriangleException
class,并完成并实现三角形 class 的构造函数,以在创建的三角形的边违反规则时抛出 TriangleException
对象。
测试程序的输出应该如下所示。
abstract class GeometricObject {
private String color = "white";
protected GeometricObject(String color) {
this.color = color;
}
public String toString() {
return "Color: " + color;
}
public abstract double getPerimeter();
}
class Triangle {
private double side1, side2, side3;
public Triangle(double side1, double side2, double side3) throws TriangleException {
}
}
class TriangleException {
}
代码正在测试:
try {
Triangle t1 = new Triangle(1.5, 2, 3);
System.out.println(t1.toString());
System.out.println("Perimeter for t1: " + t1.getPerimeter());
t1.howToColor();
Triangle t2 = new Triangle(1, 2, 3);
System.out.println(t2.toString());
System.out.println("Perimeter for t2: " + t2.getPerimeter());
t2.howToColor();
} catch (TriangleException ex) {
System.out.println(ex.getMessage());
System.out.println("Side1: " + ex.getSide1());
System.out.println("Side2: " + ex.getSide2());
System.out.println("Side3: " + ex.getSide3());
}
根据此代码结果必须是:
Color: red Sides: 1.5, 2.0, 3.0
Perimeter for t1: 6.5
Color all three sides.
Triangle inequality violation!
Side1: 1.0
Side2: 2.0
Side3: 3.0
因此示例中的输入必须为真。例如,对于 t2.getPerimeter()
语句,我们必须通过 side1 + side2 + side3 的 return 值创建一个 getPerimeter 方法。但是t2部分不属于我们属于用户。
我无法回答这个问题我需要你的帮助。在第一步中,我遇到了一个错误。我可以解决其他部分,但我无法解决 throws Exception 部分。我在 Eclipse 中测试了原始版本的代码(没有任何更改)但是我得到了一个 throws Exception 错误。如果你像我一样尝试代码,你也会得到错误。现在我该如何解决这个问题,我是 Java.
的新手
将 class TriangleException
替换为 class TriangleException extends Exception
。所有用户定义的异常都应该是 Exception
.
的子类
设计一个名为 Colorable
的接口,其中包含一个名为 howToColor()
的 void 方法。
设计一个 class 命名的三角形扩展 GeometricObject
并实现 Colorable
.
Triangle 实现 howToColor
方法来显示消息 "Color all three sides"。
三角形实现toString
方法来显示它的颜色和边。
在三角形中,任意两条边的和都大于另一条边。三角形 class 必须遵守此规则。创建 TriangleException
class,并完成并实现三角形 class 的构造函数,以在创建的三角形的边违反规则时抛出 TriangleException
对象。
测试程序的输出应该如下所示。
abstract class GeometricObject {
private String color = "white";
protected GeometricObject(String color) {
this.color = color;
}
public String toString() {
return "Color: " + color;
}
public abstract double getPerimeter();
}
class Triangle {
private double side1, side2, side3;
public Triangle(double side1, double side2, double side3) throws TriangleException {
}
}
class TriangleException {
}
代码正在测试:
try {
Triangle t1 = new Triangle(1.5, 2, 3);
System.out.println(t1.toString());
System.out.println("Perimeter for t1: " + t1.getPerimeter());
t1.howToColor();
Triangle t2 = new Triangle(1, 2, 3);
System.out.println(t2.toString());
System.out.println("Perimeter for t2: " + t2.getPerimeter());
t2.howToColor();
} catch (TriangleException ex) {
System.out.println(ex.getMessage());
System.out.println("Side1: " + ex.getSide1());
System.out.println("Side2: " + ex.getSide2());
System.out.println("Side3: " + ex.getSide3());
}
根据此代码结果必须是:
Color: red Sides: 1.5, 2.0, 3.0
Perimeter for t1: 6.5
Color all three sides.
Triangle inequality violation!
Side1: 1.0
Side2: 2.0
Side3: 3.0
因此示例中的输入必须为真。例如,对于 t2.getPerimeter()
语句,我们必须通过 side1 + side2 + side3 的 return 值创建一个 getPerimeter 方法。但是t2部分不属于我们属于用户。
我无法回答这个问题我需要你的帮助。在第一步中,我遇到了一个错误。我可以解决其他部分,但我无法解决 throws Exception 部分。我在 Eclipse 中测试了原始版本的代码(没有任何更改)但是我得到了一个 throws Exception 错误。如果你像我一样尝试代码,你也会得到错误。现在我该如何解决这个问题,我是 Java.
的新手将 class TriangleException
替换为 class TriangleException extends Exception
。所有用户定义的异常都应该是 Exception
.