java错误:找不到符号以及如何创建和向arraylist添加对象
我正在尝试创建我的Profile类的对象,并将它们存储在我创建的ProfileCollector类中创建的arrayList中
import java.util.ArrayList;
public class ProfileCollector
{
private ArrayList<Profile> profileList;
public ProfileCollector()
{
profileList = new ArrayList<Profile>();
//peopleList = new ArrayList<String>();
}
public void addProfile(String initName, int initKcalTotal, int initProteinTotal, int initFatTotal){
profileList.add(new Profile(initName, initKcalTotal, initProteinTotal, initFatTotal));
}
}
这是我的个人资料课:
import java.util.ArrayList;
public class Profile
{
private ArrayList<DailyIntake> nutritionalStats;
private String name;
private int kcalTotal;
private int proteinTotal;
private int fatTotal;
//These values represent nutritional requirements
public Profile(String initName, int initKcalTotal, int initProteinTotal, int initFatTotal)
{
name = initName;
kcalTotal = initKcalTotal;
proteinTotal = initProteinTotal;
fatTotal = initFatTotal;
}
public String getName(){
return name;
}
public int getKcalTotal(){
return kcalTotal;
}
public int getProteinTotal(){
return proteinTotal;
}
public int getFatTotal(){
return fatTotal;
}
}
以下是我的主要部分。java是非常重要的
public static void main(String[] args) {
ProfileCollector profiles = new ProfileCollector();
//theres also a line that calls to a method which calls to another method with this line: profiles.addProfile(new Profile(name, optimumCalories, optimumProteins, optimumFats));
}
错误消息是找不到变量配置文件。我的问题还在于我是否正确地创建了对象并将其添加到ArrayList中。我不知道创建类是否是最好的方法,但这是我以前见过的方法。什么都行
以下是错误消息:
错误:找不到符号 简介。添加配置文件(新配置文件(名称, 最佳卡路里、最佳蛋白质、最佳脂肪); ^ 符号:可变外形 地点:班主
# 1 楼答案
您可以在ProfileCollector类中添加一个方法,该方法接受一个概要文件实例,而不是4个参数。有了这个类,你应该能够将一个新的配置文件添加到你的列表中,你还应该能够通过输入4个参数来添加一个配置文件,这是创建一个新的配置文件实例所必需的
# 2 楼答案
您需要确保通过参数将
profiles
变量发送到该函数,然后将其发送到您所说的它调用的另一个函数此外,你给addProfile提供了一个变量类型的配置文件,也许你只需要发送配置文件
或者将addProfile更改为按参数配置,这是最佳做法
如果这不是答案,如果您不想共享代码put
...
,您可以从该函数中添加一些代码吗# 3 楼答案
以上两个答案都很好
这是一个编译错误,因此您需要学习如何解释来自编译器的IDE错误消息。 问题是您正在调用一个不存在的方法签名
伊瑟定义了这个方法
public void addProfile(Profile profile)
或者调用现有的方法:
profiles.addProfile("Profile1", 1650, 450, 350);
使用“this”来指代对象中自己的属性
继续