我有一个找到毕达哥拉斯三重奏的程序。在其中,我有一个需要用来调用方法的对象。所述物体被打破。错误是" Triples(int)方法未定义为Triples"和"方法greatesCommonFactor()
未定义类型Triples"请注意,Triples中的所有内容都不是有用的东西。它还没有完全结束。
public class TriplesRunner
{
public static void main(String args[])
{
int number;
Scanner keyboard = new Scanner(System.in);
System.out.print("Enter the natural number :: ");
number=keyboard.nextInt();
Triples test = new Triples();
test.Triples(number);
test.greatestCommonFactor(number);
System.out.println(test.toString());
}
}
public class Triples
{
public int number;
public Triples(int num)
{
setNum(number);
}
public void setNum(int num)
{
int a = 0;
int b = 0;
int c = 0;
}
public int greatestCommonFactor(int a, int b, int c)
{
int max = 0;
for(a=1; a<=number-2; a++)
{
for(b=a+1; b<=number-1; b++)
{
for(c=b+1; c<=number; c++)
{
if(a*a + b*b == c*c);
}
}
}
return 1;
}
public String toString()
{
String output="";
output+="a + b + c";
return output+"\n";
}
}
答案 0 :(得分:2)
Triples
不是一种方法 - 它是您的构造函数,这意味着它是使用new
运算符调用的:
Triples test = new Triples(number);
greatestCommonFactor
未正确定义。它目前需要三个int
个参数,而不是不使用Triples
&#39;数据成员:
public int greatestCommonFactor()
答案 1 :(得分:2)
你试图将构造函数称为方法,
更改此部分:
Triples test = new Triples();
test.Triples(number);
到
Triples.test = new Triples(number);