java - 基本练习应用程序输出。 java

标签 java optimization floating-point

尝试执行此操作:practice app .

当我自己测试它时,它似乎工作得很好,但是当我上传代码时,我被标记为不正确(程序运行但输出不正确 - 没有更多信息)。

它所做的只是获取两个输入,with 和 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);
        }
    }
}

最佳答案

输出不正确,精度错误。明确指定需要两位数字,并且您的输出与示例中的预期不同:

输入:

30 120.00

预期输出:

89.50

你的输出

89.5

编辑:第二次测试也可能失败,因为如果提款不是 5 的倍数,则不会输出任何内容。预计会输出没有任何提款的余额。

关于java - 基本练习应用程序输出。 java ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19299059/

相关文章:

java - 优化测试用例

performance - Data.Vector.Unboxed.Mutable.MVector 的索引真的这么慢吗?

c - C99 中是否有固定大小的 float 和 double 类型?

java - 在 Java 对象树上创建的 Clojure zipper 可以在 zip-filter 中工作吗?

java - 如何在 Windows 和/或 Mac 上的 Java 应用程序中找到我的 "computer description"?

java - Eclipse 服务器超时的 Tomcat7

c# - float 是否可以通过 double 往返而不损失精度?

Java Stream API如何改进表达

javascript - 对除第一项之外的数组进行排序。 Array.prototype.sort()

python - 如何让字典乘法更快?