这是我的第一篇文章,因此我会尽可能具体,我需要帮助在嵌套 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("");
}
}
这个
if (number == 0) {
if (number > 0)
System.out.print(number + " dollars");
}
永远不会打印任何内容,因为您仅在数字等于 0 时输入。然后,如果数字大于 0,则打印,但我们已经知道它等于 0,因此永远不会显示任何内容。
但是,我不太明白为什么您不简单地用 System.out.print(number + "dollars"); 替换所有这些验证,因为无论如何您总是打印相同的内容。
我是一名优秀的程序员,十分优秀!