Java 我没有得到三角形程序使用多个类的输出
当我输入数字时,我没有得到应该是打印语句的输出,我需要从方法中得到这些语句,我到底遗漏了什么?还有没有一种方法可以循环它意味着当它完成输出时,它会问你想做更多的三角形吗?是或否。是,它将再次执行该程序。不,它会结束的。是否使用if-else语句?在类Triangle和类TriangleDriver中都有一个名为inpurtrianglesides()的方法 在主程序中,调用Triangle类中的方法,该类不会输出您所看到的任何内容 试一试 相反。因为这看起来像是“家庭作业”或测试问题,我将对结构提出一些建议,而不是提供确切的代码 首先,将程序分为控制器类和三角形类。使用控制器类,读取输入边并从这些边创建一个新的三角形对象Java 我没有得到三角形程序使用多个类的输出,java,methods,printing,geometry,output,Java,Methods,Printing,Geometry,Output,当我输入数字时,我没有得到应该是打印语句的输出,我需要从方法中得到这些语句,我到底遗漏了什么?还有没有一种方法可以循环它意味着当它完成输出时,它会问你想做更多的三角形吗?是或否。是,它将再次执行该程序。不,它会结束的。是否使用if-else语句?在类Triangle和类TriangleDriver中都有一个名为inpurtrianglesides()的方法 在主程序中,调用Triangle类中的方法,该类不会输出您所看到的任何内容 试一试 相反。因为这看起来像是“家庭作业”或测试问题,我将对结构
trialTriangle=new Triangle(side1、side2、side3)
。在Triangle类中,创建以下方法:boolean isTriangle()
<代码>字符串getType(),和int getPermiture()
;一些逻辑提示:在对边进行排序后(例如在数组中边[]=new int[3]
确定是否有三角形,然后再查看三角形的类型(以确保0、0、0不显示为等边三角形);等边与边[0]==side[2]相同,因为边是有序的;然后确定等间距线(您只需查看前两个或最后两个排序的边是否相等)
在“controller”类中,获取一行并查看用户是否要求“end”;如果不是,则创建三角形并打印结果和循环。我将按以下方式对其排序:
int[]sides={side1,side2,side3};Arrays.sort(sides);
现在不允许使用数组。
import java.util.Scanner;
public class Triangle {
// inputing the intgers of the triangle
public void inputTriangleSides()
{
System.out.println("Enter your triangle side lengths");
Scanner keyboard = new Scanner(System.in);
int side1;
int side2;
int side3;
System.out.println("Enter three integers to form a triangle:");
side1 = keyboard.nextInt();
side2 = keyboard.nextInt();
side3 = keyboard.nextInt();
}
// determines if the three number make a triangle
public void ifTriangle (int side1, int side2, int side3)
{
if (side1+side2> side3 && side1+side3>side2 && side2+side3>side1)
{
System.out.println("it a triangle");
}
else
{
System.out.println ("Not a Triangle");
}
}
// sorts the numbers from lowest to highest
public static void displaySortedNumbers(int side1, int side2, int side3 ){
if ((side1 < side2) && (side2 < side3) &&(side1 <side3)){
System.out.println("The sorted numbers are " + side1 + " " + side2 + " " + side3);
}
if ((side1 < side2) && (side2 > side3)){
System.out.println("The sorted numbers are " + side1 + " " + side3 + " " + side2);
}
if ((side1 > side2) && (side2 > side3)){
System.out.println("The sorted numbers are " + side3 + " " + side2 + " " + side1);
}
if ((side1 < side2) && (side2 > side3)){
System.out.println("The sorted numbers are " + side3 + " " + side1 + " " + side2);
}
if ((side1 > side2) && (side2 > side3) && (side1>side3)){
System.out.println("The sorted numbers are " + side2 + " " + side3 + " " + side1);
}
if ((side1 > side2) && (side2 < side3)){
System.out.println("The sorted numbers are " + side2 + " " + side1 + " " + side3);
}
}
//determines the type of triangle the three intgers form
public void displayType(int side1, int side2,int side3)
{
if(( side1+side2 > side3))
if(( side1==side2) && (side2==side3))//tell if equalateral
{
System.out.println("Equalateral Triangle.");
}
else if (( side1==side2) & (side2 != side3) || (side1 == side3) & (side3 != side1))//tells if isosceles
{
System.out.println ("Isosceles Triangle.");
}
else if ((side1 != side2) & (side2 != side3))//tells if scalene
{
System.out.println("Scalene Triangle.");
}
else
{
System.out.println("Not a triangle");
}
}//missing return statement
// determines the perimeter
public int perimeter (int side1,int side2, int side3)
{
if (side1+side2> side3 && side1+side3>side2 && side2+side3>side1)
{
int perimeter= side1+side2+side3;
return perimeter;
}
else
return 0;
}
public void output(int side1 , int side2, int side3, int perimeter)
{System.out.println(perimeter);
}
}
import java.util.Scanner;
public class TriangleDriver {
public static void main(String args[]){
Triangle yourTriangle= new Triangle();
yourTriangle.inputTriangleSides();
}
public void inputTriangleSides()
{
Triangle yourTriangle= new Triangle();
Scanner keyboard = new Scanner(System.in);
int side1;
int side2;
int side3;
System.out.println("Enter three integers to form a triangle:");
side1 = keyboard.nextInt();
side2 = keyboard.nextInt();
side3 = keyboard.nextInt();
yourTriangle.ifTriangle(side1,side2,side3); // is it a triangle?
yourTriangle.displaySortedNumbers(side1,side2,side3); // sorts the number
yourTriangle.displayType(side1,side2,side3); // type of triangle
yourTriangle.perimeter(side1,side2,side3); // type of perimeter
}
}
TriangleDriver yourTriangle= new TriangleDriver();
yourTriangle.inputTriangleSides();