Reputation: 11
So i am trying to add items to an arraylist, However when I try to write the add method the IDE gives me an error that I'm passing "name, cusip and ticker wrong. Can someone explain to me what I am doing wrong here? Thank you in advance.
Here is my ETF class
package fundProject;
import java.util.Scanner;
public class ETF extends AbstractETF {
private String name;
private int cusip;
private int ticker;
public ETF(String name, int cusip, int ticker) {
this.name = getName();
this.cusip = getCusip();
this.ticker = getTicker();
}
public int getCusip() {
System.out.println("Please enter the Cusip of the ETF");
Scanner sc = new Scanner(System.in);
cusip = sc.nextInt();
return cusip;
}
public int getTicker() {
System.out.println("Please enter the Ticker of the ETF");
Scanner sc = new Scanner(System.in);
ticker = sc.nextInt();
return ticker;
}
public String getName() {
System.out.println("Please enter the Name of the ETF");
Scanner sc = new Scanner(System.in);
name = sc.next();
return name;
}
}
And here is my main class
package fundProject;
import java.util.ArrayList;
public class mainClass {
public static void main(String[] args) {
ArrayList<ETF> etfArrayList = new ArrayList<ETF>();
etfArrayList.add(new ETF(name, cusip, ticker));
}
}
Upvotes: 0
Views: 79
Reputation: 2219
It's because you're not defining what exactly name
cusip
and ticker
are. You should declare them somewhere first.
Example:
public static void main(String[] args) {
ArrayList<ETF> etfArrayList = new ArrayList<ETF>();
String name = "John Doe";
int cusip = 1;
int ticker = 1;
etfArrayList.add(new ETF(name, cusip, ticker));
}
}
You also need to rewrite your constructor for those arguments to be accepted:
public ETF(String name, int cusip, int ticker) {
this.name = name;
this.cusip = cusip;
this.ticker = ticker;
}
Overall your ETF class could use another look-over. It's not easy to understand.
Upvotes: 1
Reputation: 178253
First, you haven't defined the variables name
, cusip
, and ticker
in the mainClass
class, so the compiler generates an error here.
However, you don't even use those 3 parameters in your ETF
constructor.
I would do one of the following things:
main
, so you can pass those variables into the constructor. The constructor would simply copy the values.Upvotes: 1