Avatar of Orlando15767
Orlando15767 asked on

Compilation errors, help with using constructors

I made a class called Complex which holds 3 methods. Then i created another file called complextest
I'm trying to invoke the methods in complex through complextest but getting errors in the complextest

I'm not sure what I'm doing wrong or what I need to do to resolve this problem.

here is the code for complex

public class Complex
{
   
    public Complex()
    {
       

       

    }
   
    public void add(float w, float x, float y, float z)
    {
       float a = w + y;
       float b = x + z;
       System.out.println(a + " + " + b + "i");
    }
   
    public void subtract(float w, float x, float y, float z)
    {
        float a = w - y;
        float b = x - z;
        System.out.println(a + " + " + b + "i");
    }
   
    public void printComplex(float w, float x, float y, float z)
    {
        System.out.print( "(" + w + "," + x + ")");
        System.out.println(" (" + y + "," + z + ")");
    }
   
}

here is the code for complextest

import javax.swing.JOptionPane;
import java.lang.String;

public class Complextest {
           
    public static void main(String args[])
        {
            String I, I2; //user input for the imagionary parts
            String R, R2; //user input for the real parts
            float real, real2; //to be used for calculations
            float imag, imag2; //to be used for calculations
           
                    //recieve input from user
            R = JOptionPane.showInputDialog("Enter the real part of the first complex num.");
            I = JOptionPane.showInputDialog("Enter the imagionary part of the first complex num.");
            R2 = JOptionPane.showInputDialog("Enter the real part of the second complex num.");
            I2 = JOptionPane.showInputDialog("Enter the imagionary part of the second complex num.");
       
            //convert string input into float to be used for calculations
            real = Float.parseFloat(R);
            real2 = Float.parseFloat(R2);
            imag = Float.parseFloat(I);
            imag2 = Float.parseFloat(I2);
           
            Complex complex = new Complex(R, I, R2, I2);
            Complex.add(real, imag, real2, imag2);
            Complex.subtract(real, imag, real2, imag2);
            Complex.printComplex(real, imag, real2, imag2);

            /*method calls
            add(real, imag, real2, imag2);
            subtract(real, imag, real2, imag2);
            printComplex(real, imag, real2, imag2);*/
        }
       
    }

and here is the errors that I'm receiving:

Complextest.java [33:1] cannot resolve symbol
symbol  : class Complex
location: class Complextest
            Complex complex = new Complex(R, I, R2, I2);
            ^
Complextest.java [33:1] cannot resolve symbol
symbol  : class Complex
location: class Complextest
            Complex complex = new Complex(R, I, R2, I2);
                                  ^
Complextest.java [34:1] cannot resolve symbol
symbol  : variable Complex
location: class Complextest
            Complex.add(real, imag, real2, imag2);
            ^
Complextest.java [35:1] cannot resolve symbol
symbol  : variable Complex
location: class Complextest
            Complex.subtract(real, imag, real2, imag2);
            ^
Complextest.java [36:1] cannot resolve symbol
symbol  : variable Complex
location: class Complextest
            Complex.printComplex(real, imag, real2, imag2);
            ^
5 errors
Errors compiling Complextest.

Thanks for the help.
Java

Avatar of undefined
Last Comment
Orlando15767

8/22/2022 - Mon
Moroni24

I don't see a constructor for complex that takes 4 strings as parameters... do you need to crate one or is it just not listed?
ASKER
Orlando15767

are you saying that I need to change the parameters from the strings to the floats?
Moroni24

You don't have a constructor that takes 4 strings as params. Your constructor takes nothing. So you need to do something like

public class Complex
{

  String I, I2; //user input for the imagionary parts
  String R, R2; //user input for the real parts

   
    public Complex(String I, String I2, String R, String R2)
    {
        this.I = I;
        this.I2 = I2;
        this.R = R;
        tis.R2 = R2;
    }
     
....
Experts Exchange is like having an extremely knowledgeable team sitting and waiting for your call. Couldn't do my job half as well as I do without it!
James Murphy
ASKER
Orlando15767

I put that in Complex, but I'm still getting the same errors in Complextest
ASKER CERTIFIED SOLUTION
Moroni24

Log in or sign up to see answer
Become an EE member today7-DAY FREE TRIAL
Members can start a 7-Day Free trial then enjoy unlimited access to the platform
Sign up - Free for 7 days
or
Learn why we charge membership fees
We get it - no one likes a content blocker. Take one extra minute and find out why we block content.
See how we're fighting big data
Not exactly the question you had in mind?
Sign up for an EE membership and get your own personalized solution. With an EE membership, you can ask unlimited troubleshooting, research, or opinion questions.
ask a question
ASKER
Orlando15767

that was the problem.....

thanks for all the help