Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java快餐机添加总金额_Java_Currency - Fatal编程技术网

java快餐机添加总金额

java快餐机添加总金额,java,currency,Java,Currency,这是我在这里的第一篇帖子,如果我没有遵守规则,请原谅。所以我的项目是编写代码来模拟快餐机。快餐机里有饼干和薄荷糖。我们使用GUI与快餐机交互,购买饼干/薄荷糖,并选择要放入的10美分硬币、5美分硬币和25美分硬币的数量。下面是以下零食机文件和货币文件的代码(我没有包括提供给我们的GUI文件,因为我们不会更改它,我不认为它提供给我们时有任何错误) packageproj3; 导入java.awt.Color; 导入java.util.ArrayList; 公营小吃机{ 私人阿雷利斯特造币厂; 私人

这是我在这里的第一篇帖子,如果我没有遵守规则,请原谅。所以我的项目是编写代码来模拟快餐机。快餐机里有饼干和薄荷糖。我们使用GUI与快餐机交互,购买饼干/薄荷糖,并选择要放入的10美分硬币、5美分硬币和25美分硬币的数量。下面是以下零食机文件和货币文件的代码(我没有包括提供给我们的GUI文件,因为我们不会更改它,我不认为它提供给我们时有任何错误)

packageproj3;
导入java.awt.Color;
导入java.util.ArrayList;
公营小吃机{
私人阿雷利斯特造币厂;
私人ArrayList cookies;
私家侦探c;
私人造币厂;
私人资金数额;
公共SnackMachine(){
mints=新的ArrayList();
cookies=新的ArrayList();
}
公共无效添加曲奇(CookieFlavors风味,int-nrcookies){
对于(int i=0;i
这就是我遇到麻烦的地方。我不知道如何让机器增加用户投入的额外资金。Amount最初设置为null(对吗?),因此在没有初始化它的情况下,我无法调用addMoney方法,因为它一直给我null指针错误。所以我必须将它初始化为money的money变量。但这将继续将其重置为我接下来输入的任何内容,而不添加它。和我放进薄荷糖的时候一样。buyMints中的金额将覆盖buyCookies中的金额,反之亦然。我并不期待答案,只是一个指针,比如“我必须创建一个新方法”之类的东西。我已经在这个问题上坚持了很长时间,非常感谢您的帮助!谢谢大家


注:用户必须始终输入准确的更改。饼干是0.65美元,薄荷糖是0.35美元。如果没有,则会出现失败的购买错误(它位于提供给我们的GUI文件中)。

您正确地指出,
金额最初为空。为了消除NullPointerException,您可以先给机器钱,但要使用零值,即

private Money amount  = new Money(0, 0, 0);
我还将仔细查看
buyCookies
中的循环。看起来你在覆盖机器里有多少钱


我唯一的其他想法是,从外观上看,薄荷糖和饼干的唯一区别在于价格。你能把这两个功能结合起来吗?

把初始金额设置为零,而不是空值怎么样?哈哈,我所要做的就是将金额初始化为“新钱(0,0,0)”,然后删除金额=钱;你是救世主!非常感谢你!我现在感觉好多了哈哈。编辑:没有看到上面的评论。也谢谢你!
private Money amount  = new Money(0, 0, 0);