基本上我想做的是当“HundredBill”大于1时打印复数字,当“HundredBill”等于1时打印单数字,并且除了继续打印“FiftyBill”之外什么也不打印。例如:当我输入150时,输出将为1百。当我输入50时,输出将是1 Fifty(它跳过显示0 Hundred。)
感谢您的帮助!
if (HundredBill > 1) {
System.out.printf("%d Hundreds\n", Hundred);
}else if(HundredBill == 1){
System.out.printf("%d Hundred\n", Hundred);
}else if(HundredBill == 0){
}
if (FiftyBill = 1) {
System.out.printf("%d Fifty\n", Fifty);
答案 0 :(得分:1)
public static void main (String[] args)
{
int price=150;
int hundred=price/100;
if(hundred==1 || hundred==0){
System.out.println(hundred+" hundread");
}else{
System.out.println( hundred+" hundreads");
}
price%=100;
int fifty=price/50;
if(fifty==1||fifty==0){
System.out.println(fifty+" fifty");
}
}
答案 1 :(得分:0)
从你的问题。我从你的问题中得到的唯一部分。
当我输入150时,输出将是1百。当我进入50时, 输出将是1 Fifty
您可以尝试这样的事情
int val = 150;
int hundreds = val / 100;
int fifties;
if (hundreds == 0) {
fifties = val / 50;
System.out.println("fifties "+fifties);
}else {
System.out.println("Hundreds "+hundreds);
}
您的代码的评论。
if (FiftyBill = 1) // here FiftyBill = 1 is not a boolean you will get
// compile errors.
答案 2 :(得分:0)
如果您希望将输入分解为不同的数量,最好的方法是使用递归代码,如下所示:
private static void toWord(int i) {
if(i >= 100){
System.out.println( (i/100) + " Hundred(s)");
toWord(i%100);
}
else if(i >= 50){
System.out.println( (i/50) + " Fifty(ies)");
toWord(i%50);
}
}
然后您通过以下方式访问该方法:
toWord(570);//any input number
如果你想扩展它以支持数千只需添加方法:
if(i >= 1000){
System.out.println((i/1000) + " Thousand(s)");
toWord(i%1000);
}// and change the first if into "else if"
这应该可以解决你的问题:)