如何从类中正确返回字符串?

Wil*_*son 1 java class

在我的主要方法中,我有代码..

    String FactoredForm = FactoredForm.getFF(gcd1, gcd2, a, hii);
Run Code Online (Sandbox Code Playgroud)

FactoredForm类是:

public class FactoredForm {
public static String forName(int l, int o, int a, int hii) {
    // (lx+o)(mx+p      
    String FF1, FF2;
    if (o > 0){
        FF1 = ("(" + l + "x+" + o + ")");
    }
    else{
        FF1 = ("(" + l + "x" + o + ")");
    }
    if (hii/o > 0){
        FF2 = ("(" + a/l + "x+" + hii/o + ")");
    }
    else{
        FF2 = ("(" + a/l + "x" + hii/o + ")");
    }
    String FactoredForm = (FF1+FF2);


    return FactoredForm;
}
}
Run Code Online (Sandbox Code Playgroud)

我得到的错误是类型为String的方法getFF未定义.我错过了什么吗?

Rob*_*ska 6

是的,你的方法被定义为forName()你正在打电话getFF().

此外,您不希望这样做:

String FactoredForm = (FF1+FF2);
Run Code Online (Sandbox Code Playgroud)

FactoredForm是你班级的名字.只需用以下方法替换方法的最后两行:

return FF1 + FF2;
Run Code Online (Sandbox Code Playgroud)

  • @JesusSqueegee参见CodeBlue的回答. (2认同)

Cod*_*lue 5

您不能将String名称与类名称相同.这导致了错误.