这可能是容易一些,但作为我学习我有点困惑在这里,你会看到:循环定位和乘以
int mult[]={1,2,3,4,5,6,7,8,9,10};
changeA.get(changeA.size()-1);
for (int i = 0; i < mult.length; i++) {
int fullChange=((changeA.size()-1)*mult[i]);
System.out.println("changeA: "+ (changeA.size()-1) +".");
System.out.println("fullChange: "+fullChange);}
这是我一直在做的代码的一部分,我在这里的问题是在我的ArrayList。我想要做的是:
抓住从列表中的最后一个项目,我在这里做的:
INT fullChange =((changeA.size() - 1)* MULT [1]);
然后由上部阵列其中我也做在同一行相乘。
打印(我会抓住输出做一些其他的东西,一路上但我有解决这个问题的问题,我无法前进)。
问题是当问题明确地说:在硬币/计费量最少。所以我的代码必须抓取列表中的最后一项,这是根据填充ArrayList的上层决定确定的。但是我的代码并没有这样做,我的代码所做的就是获取列表中的第二个最新项目,并将它乘以给出正确的答案,但不是适量的硬币。 下面是一个例子
假设您购买可乐5美元,您用10美元的账单支付。因此,这个变化将是最少数量的硬币/账单5美元的账单。如果他们没有5美元的账单,他们会给你5美元1美元的账单。等等等等。
下面是一个输出: Code output
我也必须说,最后两行上的代码是用于测试和保证我的观点。在此先感谢
编辑: 这是上面的代码后,会发生什么:
if (fullChange==change) {
System.out.println("El cambio es: "+fullChange+" en monedas de: "+changeA.get(changeA.size()-1)+" con un total de: "+mult[i]+" monedas");
break;
}
所以MULT [I],而不是给我1它给了我5(使用上面的例子)
难道我理解你的问题的权利: 1.你是问量例如72欧元。 2.您支付80 3.您找回8,但在硬币的量最少? 你必须编写执行第3步的代码吗? – rinormaloku
如何抓住数组中的最新值,并以正确的方式在其他阵列乘它,因为我的代码不获取最新的,但第二个最新 – sarquamon
@rinormaloku肯定的,但如果你看到的画面一点也没有”牛逼给我硬币的量最少,但第二次量最少 – sarquamon