因此,我试图将项目添加到arraylist,但是当我尝试编写add方法时,IDE给我一个错误,提示我传递“名称,cusip和ticker错误。有人可以向我解释我在这里做错了什么? 先感谢您。
这是我的ETF类别
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;
}
}
这是我的主班
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));
}
}
最佳答案
首先,您尚未在name
类中定义变量cusip
,ticker
和mainClass
,因此编译器在此处生成错误。
但是,您甚至没有在ETF
构造函数中使用这3个参数。
我将执行以下操作之一:
消除参数的构造函数,并且不要将任何东西传递给构造函数。
或者,移动代码以要求用户输入main
,以便可以将这些变量传递到构造函数中。构造函数将简单地复制值。