我正在研究一个程序,它调用另一个类的方法,我似乎无法超越那个道路颠簸。我正在使用的示例只是在main方法中设置一个等于另一个类的变量,而我在我自己的程序中遇到的主要错误是我找不到的符号 - 我也是在这里查看了其他类似的问题,但我无法理解如何在我自己的程序中使用答案。
这是我的主要方法的一部分,名为MyTriangle:
do
{
System.out.print ("Enter the first of a triangle: ");
side1 = scan.nextDouble();
System.out.print ("Enter the second side of a triangle: ");
side2 = scan.nextDouble();
System.out.print ("Enter the third side of a triangle: ");
side3 = scan.nextDouble();
validity = isValid (side1, side2, side3);
if (validity == true)
{
System.out.println ("Area of the triangle is " + area);
}
if (validity == false)
{
System.out.println ("Invalid input");
}
System.out.print ("\nContinue? <y/n> ");
end = scan.next();
} while (!end.equalsIgnoreCase("n"));
这是我的TestMyTriangle类的一部分:
public class TestMyTriangle
{
public static double area (double side1, double side2, double side3)
{
double resultArea = 0;
double sum = 0;
sum = ((side1 + side2 + side3) / 2);
resultArea = Math.sqrt(sum * ((sum - side1) * (sum - side2) * (sum -side3)));
return resultArea;
}
}
我调用TestMyTriangle的方式与我正在使用的示例相同,但它仍然不起作用。如果有人能帮助我看到我所缺少的东西,我将不胜感激。
答案 0 :(得分:2)
如果错误来自您发布的代码示例,我的赌注是您的isValid
方法属于TestMyTriangle
类。因此,为了调用isValid
,您必须这样写:
validity = TestMyTriangle.isValid(side1, side2, side3);
同时确保在调用区域时,您也可以像这样引用该类:
System.out.println("Area of the triangle is " + TestMyTriangle.area(side1, side2, side3));
最后,如果您的两个文件不在同一目录中,请确保导入其他类文件,如下所示:
import path/to/directory/TestMyTriangle;
祝你好运!
答案 1 :(得分:1)
更改此行:
System.out.println ("Area of the triangle is " + area);
到此:
System.out.println ("Area of the triangle is " + TestMyTriangle.area(side1, side2, side3));