如何跳过java中的打印“如果”

时间:2014-09-30 10:07:43

标签: java if-statement

基本上我想做的是当“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); 

3 个答案:

答案 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"

这应该可以解决你的问题:)