java吧 关注:1,214,858贴子:12,661,458
  • 23回复贴,共1

新手求大牛指点

只看楼主收藏回复

做了一个判断彩票是否中奖的程序,原来用的switch,现在改成if-else;
然后出现一个问题 if-else判断条件如果出现重复的话他只会输出上一个if-else语句的结果,怎么解决这个问题‘


IP属地:河南1楼2017-03-27 12:45回复
    package Day3_27;
    import java.util.*;
    public class Administrator {
    void giveMess(int number){
    int d1=number%10;
    int d2=number%100;
    int d3=number%1000;
    if(number/10000<=0||number/10000>=10){
    System.out.println("please input the real number");
    }
    else if(d1==1||d1==3||d1==9){
    System.out.println("你中了三等奖");
    }
    else if(d2==29||d2==46||d2==21){
    System.out.println("你中了二等奖");
    }
    else if(d3==875||d3==326||d3==596){
    System.out.println("你中了一等奖");
    }
    else{
    System.out.println("you lose");
    }
    }
    }


    IP属地:河南2楼2017-03-27 12:45
    回复
      package Day3_27;
      import java.util.*;
      public class Example3_2 {
      public static void main(String[] args) {
      // TODO Auto-generated method stub
      Scanner reader=new Scanner(System.in);
      System.out.println("please input the number and push enter");
      int number=reader.nextInt();
      Administrator person=new Administrator();
      person.giveMess(number);
      }
      }


      IP属地:河南3楼2017-03-27 12:46
      回复
        就是如果输入号码是22229的话他只会说我中了三等奖 可我明明中的是二等奖啊


        IP属地:河南4楼2017-03-27 12:47
        回复
          没人的话我一会再来问一次


          IP属地:河南5楼2017-03-27 12:50
          回复
            执行了 if(d1==1||d1==3||d1==9) 这个 ,肯定不会再执行下面那个了啊


            IP属地:广东6楼2017-03-27 12:57
            收起回复
              那判断写多点


              IP属地:上海来自Android客户端7楼2017-03-27 13:03
              收起回复
                public class Administrator {
                void giveMess(int number){
                if(number/10000<=0||number/10000>=10){
                System.out.println("请输入五位彩票号码");
                }
                else{
                int d1=number%10;
                int d2=number%100;
                int d3=number%1000;
                switch(d1){
                case 1:
                case 9:
                case 3:
                System.out.println("彩票是三等奖");
                default:
                System.out.println("彩票不是三等奖");
                }
                switch(d2){
                case 29:
                case 46:
                case 21:
                System.out.println("彩票是二等奖");
                default:
                System.out.println("彩票不是二等奖");
                }
                switch(d3){
                case 875:
                case 326:
                case 112:
                System.out.println("窝草你中了一等奖!!!");
                break;
                default:
                System.out.println("彩票不是一等奖");
                }
                }
                }
                }


                IP属地:河南8楼2017-03-27 13:06
                回复
                  把所有的else删了,每个if里最后加句return


                  IP属地:广东9楼2017-03-27 13:21
                  收起回复