【发布时间】:2016-09-22 08:05:45
【问题描述】:
-
我的代码:
public class Triangle { private PointClass v1 = new PointClass(); private PointClass v2 = new PointClass(); private PointClass v3 = new PointClass(); public Triangle (PointClass v1 , PointClass v2 , PointClass v3) { this.v1 = v1; this.v2 = v2; this.v3 = v3; } public void printtype() { if (v1 != v2 && v2 !=v3 && v1 !=v3) { System.out.println(" The Triangle is scalene"); } if (v1 != v2 || v3 !=v2 ) { System.out.println(" The Triangle is isosceles"); } if (v1 == v2 && v2== v3 && v1 == v3) { System.out.println(" The Triangle is equilateral"); } } } -
主要方法:
public static void main(String[] args) { PointClass v1 = new PointClass(1, 2); PointClass v2 = new PointClass(1, 2); PointClass v3 = new PointClass(1, 2); Triangle tr = new Triangle(v1, v2, v3); tr.printtype(); } -
输出是:
三角形是不等边的
三角形是等腰三角形
我想打印条件的结果取决于 PointClass 的输入,例如 V1 , V2 和 V3 并且是一个结果而不是其中两个
我该怎么做?谁能帮帮我?
【问题讨论】:
-
是
v1、v2和v3真的边长吗? -
另外,您应该使用
equals比较PointClass实例,而不是==。 -
首先,不要使用 == 来比较两个对象,你应该重写 equals 来检查相等性。然后只需对您的条件进行排序(第 3 次然后第 1 次然后第 2 次)并使用
else if而不是if。 -
-1,通过提供一致的格式并最好遵循 Java 约定,为您发布的代码投入更多精力。