在嵌套的If语句中显示货币单位

时间:2015-02-20 01:49:32

标签: java

这是我的第一篇文章,所以我将尝试具体说明我需要帮助在嵌套的if语句中显示美元金额。

public class ComputeChange {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        double number = input.nextDouble();

        if (number == 0) {
            if (number > 0)
                System.out.print(number + " dollars");
        }
        else 
        System.out.print(number + " dollars");
        input.close();
    }
}

感谢您提供的信息,但我的教授希望我使用复数和单数,但我尽可能地修复了我的代码,这就是我想出的。

public class ComputeChange {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        double number = input.nextDouble();

        if (number > 1) {
            System.out.print(number + "dollars");
            if (number == 0)
                System.out.print(number + "");
            else
            System.out.print("1 dollar");
        }
        input.close();
    }
}

更新:经过一些试验和错误,论坛上的很多帮助我终于取得了进展。我现在唯一的问题是如何显示多个美元金额而不显示小数。

import java.util.Scanner;

public class ComputeChange {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.print("Enter an amount in double, for example 11.56: " );
        double number = input.nextDouble();

        if (number == 1) {
            System.out.print("1 dollar");
        }
            else 
                if ( number > 1)
                    System.out.print(number / 1 + " dollars");
            if (number == 0)
                System.out.println("");
    }
}

1 个答案:

答案 0 :(得分:1)

这个

if (number == 0) {
     if (number > 0)
          System.out.print(number + " dollars");
}

永远不会打印任何东西,因为你只在数字等于0时输入。然后你打印数字高于0,但我们已经知道它等于0所以永远不会显示任何东西。

但是,我真的不明白为什么你不能用System.out.print(number + " dollars");代替所有这些验证,因为你总是打印相同的东西。