【发布时间】:2020-10-12 04:02:58
【问题描述】:
我正在做一个课程练习。练习告诉我:
-创建一个“计算器”类
-这个类的每个新对象都应该有字符串列表,其中将存储操作的历史记录(在构造函数中创建的列表)。构造函数不能有任何参数。
当然还有计算器中的基本操作。
所以我已经开始创建这个,这就是我现在所拥有的:
class Calculator {
public Calculator () {
List<String> history = new LinkedList<String>();
}
public double add(double num1, double num2) {
history.add("added " + num1 + " to " + num2); //here's the problem
return num1 + num2;
}
}
但是当我尝试将新字符串添加到历史列表时,我不能这样做,因为它不存在于程序的那个位置。
不在构造函数中直接在类中创建List不是更好吗?
即使可以,我也应该按照他们告诉我的方式来做这个练习,所以你能帮我看看如何在构造函数中创建的 List 中添加一些东西吗?
【问题讨论】:
-
嘿!你可以告诉你的导师写出更精确的要求。您可能应该在构造函数中定义列表,但将其声明为对象属性。
-
也这么想...您可以将其设为
private List<String> history;并在构造函数中对其进行初始化。然后你可以在该类的不同方法中add值。 -
我敢打赌,因为您的要求这个类的每个新对象都应该有字符串列表,其中将存储操作的历史记录(在构造函数中创建的列表)。构造函数不能有任何参数。 没有明确说明列表必须缩小到构造函数范围。拥有该列表的不是对象,而是当前对象的构造函数。
-
谢谢你们 :) 我会这样做的。
标签: java list class constructor