首先这里是我的方法:
public static Complex plus(ComplexNumber a, ComplexNumer b) {
double real = a.r + b.r;
double imaginar = a.i + b.i;
ComplexNumber sum = new ComplexNumber (real, imaginar);
return sum;
}
当我尝试在主类中调用它时,我无法。错误:“找不到符号” System.out.println(plus); //不起作用。
如果有人想要完整的代码,我可以放它,但是变量不是英文,所以..对不起
这是我的综合类:(变量不是英语):
public class KompleksniBroj {
private double r;
private double i;
public KompleksniBroj() {
}
public KompleksniBroj(double realan, double imaginarni) {
this.r = realan;
this.i = imaginarni;
}
public double getR() {
return r;
}
public void setR(double r) {
this.r = r;
}
public double getI() {
return i;
}
public void setI(double i) {
this.i = i;
}
public static KompleksniBroj plus(KompleksniBroj a, KompleksniBroj b) {
double realan = a.r + b.r;
double imaginarni = a.i + b.i;
KompleksniBroj sum = new KompleksniBroj(realan, imaginarni);
return sum;
}
public KompleksniBroj konjugovan() {
return new KompleksniBroj(r, -i);
}
@Override
public String toString() {
return "KompleksniBroj{" + "r = " + r + ", i = " + i + '}';
}
}
主类:
public static void main(String[] args) {
KompleksniBroj a = new KompleksniBroj(5.0, 6.0);
KompleksniBroj b = new KompleksniBroj(-3.0, 4.0);
System.out.println(plus(a, b));
}
答案 0 :(得分:2)
plus()
是类KompleksniBroj
的静态方法。不是Main
类的静态方法。因此,要从Main
进行调用,您需要使用
KompleksniBroj.plus(...)
即
System.out.println(KompleksniBroj.plus(a, b));
答案 1 :(得分:0)
您需要使用具有静态方法的类名来调用该方法。
如果class A
在static void foo()
之外有一个名为class A
的方法,则需要这样调用:A.foo()
所以在您的情况下:KompleksniBroj.plus(a, b)
答案 2 :(得分:0)
方法plus()
是类KompleksniBroj
的静态方法。
使用通过类名称限定的名称:
KompleksniBroj.plus()
但是您还需要提供2个参数,这些参数必须正确初始化KompleksniBroj
对象,例如:
KompleksniBroj k1 = new KompleksniBroj(1, 1);
KompleksniBroj k2 = new KompleksniBroj(2, 2);
如果您在toString()
类中正确定义了KompleksniBroj
方法,则可以调用:
System.out.println(KompleksniBroj.plus(k1, k2));