javaoop三角存在性

javaoop三角存在性,java,oop,input,geometry,Java,Oop,Input,Geometry,我最近开始编程。到目前为止,我已经学习了基础知识,现在是面向对象编程的时候了,所以我有一些问题,因为我正在构建基本程序来理解原理,并链接到我实际使用它的方式 所以我用Java编写了一个简单的三角形程序,到目前为止,它计算周长(稍后会添加其他形状和其他参数),我想在墙上添加三角形的存在(因为边不能是负数),并且我想允许用户输入。问题是我不知道把代码放在哪里,也不知道如何引用类。线性(非OOP)方式很简单,但如何在OOP中实现,我必须通过方法生成另一个类还是三角形类 我的代码: public cla

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

所以我用Java编写了一个简单的三角形程序,到目前为止,它计算周长(稍后会添加其他形状和其他参数),我想在墙上添加三角形的存在(因为边不能是负数),并且我想允许用户输入。问题是我不知道把代码放在哪里,也不知道如何引用类。线性(非OOP)方式很简单,但如何在OOP中实现,我必须通过方法生成另一个类还是三角形类

我的代码:

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类,例如(尽管有替代方案)。

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

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

对于用户输入值,最好有单独的用户界面类。如果这将是一个桌面应用程序,您可以使用一些Swing类,例如(尽管有替代方案)。

您的代码检查三角形是否正确构造(使用非负值等)是否属于三角形类

获取用户输入的代码可以放在小程序测试的main()中,但对于较大的应用程序,可以放在单独的UI命名空间中


hth

检查三角形是否正确构造(使用非负值等)的代码属于triangle类

获取用户输入的代码可以放在小程序测试的main()中,但对于较大的应用程序,可以放在单独的UI命名空间中


hth

您已经声明了一个您在任何地方都不使用的字段
周长。您可以删除它。我想使用用户输入-这样用户就可以取消输出sideA、sideB、sideC,因为边不能是负数或0三角形也不能存在。所以我想输入检查是否有负输入的代码。问题是我不知道把那条线放在哪里你已经声明了一个你在任何地方都不使用的字段
permiture
。您可以删除它。我想使用用户输入-这样用户就可以取消输出sideA、sideB、sideC,因为边不能是负数或0三角形也不能存在。所以我想输入检查是否有负输入的代码。问题是我不知道该把这行放在哪里。最好是用
boolean
函数包装它。谢谢你的建议;我已经编辑了响应以包含方法“wrapper”好的,谢谢。这似乎是可行的,但是如何在TestTri类的if-else语句中放入isValid()方法呢?例如,一旦用户输入了三角形边的所有三个值,用户界面类就可以调用此方法。如果它返回false,那么您将向您的用户显示一条错误消息,等等。也许最好将其包装在
布尔函数中,谢谢您的建议;我已经编辑了响应以包含方法“wrapper”好的,谢谢。这似乎是可行的,但是如何在TestTri类的if-else语句中放入isValid()方法呢?例如,一旦用户输入了三角形边的所有三个值,用户界面类就可以调用此方法。如果它返回false,那么您将向您的用户显示一条错误消息,等等。