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
Avatar of Moroni24
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?
Avatar of Orlando15767
Orlando15767

ASKER

are you saying that I need to change the parameters from the strings to the floats?
Avatar of Moroni24
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;
    }
     
....
Avatar of Orlando15767
Orlando15767

ASKER

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

Blurred text
THIS SOLUTION IS ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
Avatar of Orlando15767
Orlando15767

ASKER

that was the problem.....

thanks for all the help
Java
Java

Java is a platform-independent, object-oriented programming language and run-time environment, designed to have as few implementation dependencies as possible such that developers can write one set of code across all platforms using libraries. Most devices will not run Java natively, and require a run-time component to be installed in order to execute a Java program.

102K
Questions
--
Followers
--
Top Experts
Get a personalized solution from industry experts
Ask the experts
Read over 600 more reviews

TRUSTED BY

IBM logoIntel logoMicrosoft logoUbisoft logoSAP logo
Qualcomm logoCitrix Systems logoWorkday logoErnst & Young logo
High performer badgeUsers love us badge
LinkedIn logoFacebook logoX logoInstagram logoTikTok logoYouTube logo