停止函数所以价格不低于 -500 Java
Stop function so price isnt less than -500 Java
我 运行 我的程序中的一个方法有问题,我设置的任务涉及在余额达到 -500 后停止来自 运行 的 if 语句,我已经尝试了 if(price < buy && balance > -500) 和当前的 while(balance > -500) 给了我 -594 的结果,但预期结果是 -495.
虽然如果我为 while 循环取出 {} 并放置一个中断;在 while() 旁边,它只是通过 junit 测试运行,该测试使用主题 class(使用观察者策略)上的方法来更改价格(在本例中,它将价格设置为 0.99 7 次)。
从我的测试来看,当前的解决方案给出了最接近的答案,但我寻求帮助的部分是停止它,这样它就不会超过 -500 标记。
'
在此先感谢,如果您希望我添加更多代码来提供帮助,请告诉我
@Override
public double getBalance() {
System.out.println("balance " + price);
while(balance > -500)break;
if( price < buy ){
outcome = price * increment;
System.out.println("OUT " + outcome + " ");
}else if(price > sell && portfolio >= 100){
income = price * increment;
}
double total = income - outcome;
balance = balance + total;
}
return balance;
}
编辑 - 好吧我缩进了一点我希望
我认为问题在于没有检查 balance - total
是否会在下一次迭代开始之前低于 -500;使用当前代码执行此操作的最简单方法是:
double total = income - outcome;
if(balance + total >= -500) {
balance = balance + total;
} else {
break;
}
我 运行 我的程序中的一个方法有问题,我设置的任务涉及在余额达到 -500 后停止来自 运行 的 if 语句,我已经尝试了 if(price < buy && balance > -500) 和当前的 while(balance > -500) 给了我 -594 的结果,但预期结果是 -495.
虽然如果我为 while 循环取出 {} 并放置一个中断;在 while() 旁边,它只是通过 junit 测试运行,该测试使用主题 class(使用观察者策略)上的方法来更改价格(在本例中,它将价格设置为 0.99 7 次)。 从我的测试来看,当前的解决方案给出了最接近的答案,但我寻求帮助的部分是停止它,这样它就不会超过 -500 标记。 ' 在此先感谢,如果您希望我添加更多代码来提供帮助,请告诉我
@Override
public double getBalance() {
System.out.println("balance " + price);
while(balance > -500)break;
if( price < buy ){
outcome = price * increment;
System.out.println("OUT " + outcome + " ");
}else if(price > sell && portfolio >= 100){
income = price * increment;
}
double total = income - outcome;
balance = balance + total;
}
return balance;
}
编辑 - 好吧我缩进了一点我希望
我认为问题在于没有检查 balance - total
是否会在下一次迭代开始之前低于 -500;使用当前代码执行此操作的最简单方法是:
double total = income - outcome;
if(balance + total >= -500) {
balance = balance + total;
} else {
break;
}