这是我的第一篇文章,所以我将尝试具体说明我需要帮助在嵌套的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("");
}
}
答案 0 :(得分:1)
这个
if (number == 0) {
if (number > 0)
System.out.print(number + " dollars");
}
永远不会打印任何东西,因为你只在数字等于0时输入。然后你打印数字高于0,但我们已经知道它等于0所以永远不会显示任何东西。
但是,我真的不明白为什么你不能用System.out.print(number + " dollars");
代替所有这些验证,因为你总是打印相同的东西。