我目前正在爲java(不屬於類的一部分)進行單獨的文本書工作,而且我被困在一個問題上。實例方法:複數
爲這個類編寫一個實例方法模數,可以用類似 的語句調用double size = z.modulus();其中z是複雜類型。如果z表示值a + ib, 那麼調用會將變量大小設置爲| z |的值。 =平方根(a + b )。
我在做什麼錯?
public class complex {
double re;
double im;
complex x;
public static void main(String[] args) {
public complex z = new complex();
{
z.im = In.getDouble();
z.re = In.getDouble();
}
//public complex modulus = (x);
//{
// x.im = z.im * z.im;
// x.re = z.re * z.re;
// return ;
//}
public double size() {
System.out.println(Math.sqrt(x.im+ x.re));
return Math.sqrt(x.im+ x.re);
}
double size = z.modulus();
// {
//}
private double modulus() {
// TODO Auto-generated method stub
x.im = z.im * z.im;
x.re = z.re * z.re;
return 0;
}
}
我所做的更改,並與該出來了,但它仍然無法正常工作,我把錯誤旁邊它們發生的線。
public class complex {
double re;
double im;
public complex z = new complex();
{
z.im = In.getDouble();
z.re = In.getDouble();}
public static void main(String[] args) {
private double modulus() { // insert enumIdentifier and body, Syntax error on "double" @ expected.
return Math.sqrt(im * im + re * re);
}
double size = z.modulus();
}
}
究竟是什麼錯誤?錯誤?例外?錯誤的輸出? – csmckelvey
@Takendarkk異常在線程「main」java.lang.StackOverflowError \t at complex。(complex.java:30) –
Liste1134
@ Liste1134根據你的評論,它看起來像你正在創建'complex'的新實例的'complex'構造函數,這意味着你再次調用'complex'構造函數(它再次創建它自己的另一個'複雜'實例,這意味着它調用構造函數,它創建實例,調用構造函數,...等等)。它看起來是由這個字段引起的'public complex z = new complex();'。 – Pshemo