如果输入正确,我想调用区域,实例变量在运行时在Setter方法中显示其值。 我正在使用 TriangleTester 来测试类 Triangle 。 我只想根据所需的输出计算三角形的面积和周长
Triangle.java
import java.util.Scanner;
class Triangle
{
private int a,b,c; //sides of the triangle
private double s,area; //and 's' for the Heron's Formula
private int peri;
String type=new String();
Triangle()
{
System.out.println("*****A Java Application To Determine Triangle and Comupute*****");
setter();
}
public void inputAndDetermine()
{
if(((a+b)>c)&&((a+c)>b)&&((b+c)>a))
{
determineType();
calculatePerimeter();
calculateArea();
displayResult();
}
else
{
System.out.println("The input doesn't describe a triangle");
}
}
public void determineType()
{
if((a==b)&&(a==c))
{
type="Equilateral triangle";
}
else if((a==b)||(b==c)||(a==c))
{
type="Isoceles triangle";
}
else
{
type="Scalene triangle";
}
}
public void calculatePerimeter()
{
peri=a+b+c;
}
public strictfp void calculateArea()
{
s=(a+b+c)/2;
area=(Math.sqrt((s*(s-a)*(s-b)*(s-c))));
}
public void displayResult()
{
System.out.println("\t Summary of Computing Triangle Perimeters & Areas \t");
System.out.println("----------------------------------------------------------");
System.out.println("\t Sides(a,b,c) \t Perimeter \t Area \t Type \t");
System.out.println("----------------------------------------------------------");
System.out.println("\t " + a + " " + b + " " + c + "\t " + peri + "\t " + area + "\t" + type );
System.out.println("");
System.out.println("");
System.out.println("Bar Chart Of Number of Triangle Constructed");
}
public void setter()
{
Scanner keyboard = new Scanner(System.in);
System.out.print("Enter the length of 1st side of Triangle 1 : ");
this.a=keyboard.nextInt();
System.out.print("Enter the length of 1st side of Triangle 1 : ");
this.b=keyboard.nextInt();
System.out.print("Enter the length of 1st side of Triangle 1 : ");
this.c=keyboard.nextInt();
System.out.println("The Triangle perimeter and area are :");
System.out.println("\t \t" + peri + " unit, " + area + " units. " + type );
System.out.println("-----------------------------------------------------------");
}
}
TriangleTester.java
class TriangleTester
{
public static void main(String [] ar)
{
Triangle tri = new Triangle();
tri.inputAndDetermine();
}
}
这是我得到的输出
答案 0 :(得分:1)
将setter方法代码更改为
...
this.c=keyboard.nextInt();
// add these two lines
calculatePerimeter();
calculateArea();
System.out.println("The Triangle perimeter and area are :");
System.out.println("\t \t" + peri + " unit, " + area + " units. " + type );
System.out.println("-----------------------------------------------------------");
但这似乎毫无意义。