Java OOP 三角形的存在性

标签 java oop input geometry

我最近开始编程。到目前为止,我已经学习了基础知识,现在是 OOP 的时候了,所以我有一些问题,因为我正在构建基本程序来理解原理并链接到我在实际中使用它的方式。

所以我正在用Java制作简单的三角形程序,到目前为止它计算了周长(稍后将添加其他形状和其他参数),我在想要添加三角形存在的地方碰壁了(因为边不能为负)并且我还想允许用户输入。问题是我不知道在哪里放置代码以及如何引用类。线性(非 OOP)方式很简单,但是它在 OOP 中是如何完成的,我是否必须通过方法创建另一个类或在 Triangle 类中?

我的代码:

public class Trissturis {
    private int sideA, sideB, sideC;
    private double perimeter;

    public Trissturis(int a, int b, int c) {
        sideA = a;
        sideB = b;
        sideC = c;
    }

    public double getPerimeter() {
        return sideA + sideB + sideC;
    }
}

public class TestTri {
    public static void main(String[] args) {

        Trissturis t1 = new Trissturis(10, 20, 30);
        System.out.println("perimeter is  " + t1.getPerimeter());

        Trissturis t2 = new Trissturis(-1, 20, 30);

    }
}

最佳答案

要验证三角形,您必须检查所有边的长度都大于零,并且没有一条边长于其他两条边的总和。实现此目的的方法是:

public boolean isValid(){
    return (sideA>0)&&(sideB>0)&&(sideC>0)&&(sideA+sideB>sideC)&&(sideA+sideC>sideB)&&(sideC+sideB>sideA);
}

为了让用户输入值,最好有单独的用户界面类。例如,如果这是一个桌面应用程序,您可以使用一些 Swing 类(尽管还有其他选择)。

关于Java OOP 三角形的存在性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12872021/

相关文章:

objective-c - Objective-C 中的有限状态机

c# - 如何为 Unity 获取帧速率独立的触摸位置?

html - 使用 CSS 输入没有框的文本

c++ - 收到输入并测试它是否是 C++ 中的 int 后的无限循环

java - Android 应用程序中的 PorterStemmer 错误

java - 无法使用 URL 协议(protocol)处理程序从 HDFS 获取数据

java - MySQL : EOFException: Can not read response from server. 预计读取 4 个字节,在连接意外丢失之前读取了 0 个字节

java - 何时在系统输出上使用 log4j

php - PHP 类的实例将持续多长时间?

methods - 返回接收者本身(Go)的方法的目的是什么?