Liste1134
Liste1134

Reputation: 11

Instance Methods: complex numbers

I am currently doing solo text book work for java(not part of a class) and I'm stuck on a question.

Write an instance method modulus for this class that could be called by a statement like double size = z.modulus(); where z is of type Complex. If z represented the value a + ib, then the call would set the variable size to the value of |z| = square root(a2 + b2).

What am I doing wrong?

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;
    }
}

I made the changes and came out with this but it still doesn't work i put the errors next to the line in which they occur.

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();


}

}

Upvotes: 0

Views: 205

Answers (1)

Dawood ibn Kareem
Dawood ibn Kareem

Reputation: 79887

You don't need to refer to either x or z. You have the right fields in your class to be able to calculate the modulus.

public double modulus() {
    return Math.sqrt( im * im + re * re );
}

However, in the code in your question, you seem to be defining your class's methods inside the main method. You can't do that. Close off the definition of one method (with }) before starting the next.

Upvotes: 2

Related Questions