我很难获得一个带有参数的私有方法,可以在我的toString方法中使用,但不知道如何让这两种方法合作。
主要课程:
import static java.lang.System.*;
public class Triples
{
private int number;
public Triples()
{
//this(0);
}
public Triples(int num)
{
number = num;
}
public void setNum(int num)
{
number = num;
}
private int greatestCommonFactor(int a, int b, int c)
{
int max = number;
for(int n = 1; n <= max; n++)
{
for(a = n; a <= max; a++)
{
a = n;
for(b = a +1; b <= max; b++)
{
b =n;
for(c = b + 1; c <= max; c++)
{
c = n;
if(Math.pow(a, 2)+ Math.pow(b, 2)== Math.pow(c, 2))
{
if((a%2==1 && b%2==0)|| (a%2==0 && b%2==1))
{
if(a%2<=1 && b%2<=1 && c%2<=1)
{
String last = a + "" + b + c;
}
}
}
}
}
}
}
return 1;
}
public String toString()
{
String output="";
output = output + this.greatestCommonFactor( ) + " \n";
return output;
}
}
并且用于交叉引用我的跑步者类:
import static java.lang.System.*;
import java.util.Scanner;
public class Lab11j
{
public static void main(String args[])
{
Scanner keyboard = new Scanner(System.in);
String choice="";
do{
out.print("Enter the max number to use : ");
int big = keyboard.nextInt();
//instantiate a TriangleThree object
Triples triple = new Triples(big);
//call the toString method to print the triangle
out.println( triple );
System.out.print("Do you want to enter more data? ");
choice=keyboard.next();
}while(choice.equals("Y")||choice.equals("y"));
}
}
如果您发现需要澄清本实验,请参阅实验表格的Google文档:https://docs.google.com/open?id=0B_ifaCiEZgtcX08tbW1jNThZZmM
答案 0 :(得分:3)
变量a
,b
&amp; c
可以在这里用作局部变量。这将允许您从greatestCommonFactor
:
private int greatestCommonFactor() {
int a = 0;
int b = 0;
int c = 0;
...
因为它们仅在方法范围内需要。
答案 1 :(得分:1)
greatestCommonFactor
。当你没有向方法传递足够的参数时,我不确定你在toString()
方法中会发生什么。
答案 2 :(得分:0)
你需要像
那样传递它们output = output + this.greatestCommonFactor(1,2,3) + " \n";
问题是,除非你将参数传递给toString,否则这个代码似乎非常有限。或者,您需要在类上设置一些字段,并将其传递给您的函数。