当我自己测试它似乎工作得很好但是当我上传我的代码时,我被标记为不正确(程序运行但输出不正确 - 没有进一步的信息)。
所有这一切都是获得两个输入,使用和bal并检查是否with 5%=0 && bal>=with+0.5
。
如果两个条件都为真,则返回bal-(with+0.5)
。
还有一种更有效(更快的代码执行)方式吗?
import java.util.Scanner;
class ATM {
public static void main(String[] args){
Scanner in=new Scanner(System.in);
final float with=in.nextFloat();
final float bal=(float) ((in.nextFloat())-(with+0.5));
if (bal>=0 && with%5==0){
System.out.print(bal);
}
}
}
答案 0 :(得分:3)
输出不正确,精度错误。明确指出需要两个数字,并且您的输出与示例中的预期不同:
输入:
30 120.00
预期产出:
89.50
您的输出
89.5
编辑:它也可能未通过第二次测试,因为如果提款不是5的倍数,则不输出任何内容。预计会在没有任何提款的情况下输出余额。
答案 1 :(得分:1)
我建议自动编程器在输出结束时期待一个新行,即println()
vs print()
:
System.out.println(bal);
但正如@Steinar上面指出的那样,它应该是这样的:
System.out.println(String.format("%.02f", bal));