老是给的一道练习题,  
/*
if 与switch 练习:
需1:根据用户定义的数值不同,打印对应的星期英文。
*/
但是我突然想用刚刚学会的三元运算打印出来,突然好迷茫,请教教我

解决方案 »

  1.   

    星期一到星期日有7天啊,。。word大兄弟  你都说了三元了
      

  2.   

    三元运算最好就是一个判断两个值,判断星期用switch,
      

  3.   

    int myNumber = 1;//输入的值
    String str = ((myNumber==1)?"星期一":(myNumber==2?"星期二":(myNumber==3?"星期三":(myNumber==4?"星期4":(myNumber==5?"星期五":(myNumber==6?"星期六":(myNumber==7?"星期天":"输入值错误")))))));
    System.out.println(str);拿来练习可以,在实际中这样用会很难阅读,后面自己看都会很头痛的。太多了还是用其他的吧
      

  4.   

    建议楼主还是采用switch-case语句吧,毕竟有七天,如果你执意要用也是可以的,如A>90?(B>60?"A":"B"):C这种嵌套,但本人不建议你这样用,这是要求有层次结构的
      

  5.   

    像判断内容只有几个的,推荐用switch-case;其实三元运算只不过是if-else的简写形式,可以先把if-else判断语句写出来,然后在改成三元运算形式!
    int a=2;
    String d;
    if(a==1){d="Mon";}
    else if(a==2){d="Tues";}
    else if(a==3){d="Wed";}
    else if(a==4){d="Thur";}
    else if(a==5){d="Fir";}
    else if(a==6){d="Sat";}
    else if(a==7){d="Sun";}
    else(d="error";}
    System.out.println(d);转换后:
    int a=2;
    String d;
    d=(a==1)?("Mon"):((a==2)?("Tues"):((a==3)?("Wed"):((a==4)?("Thur"):((a==5)?("Fir"):((a==6)?("Sat"):((a==7)?("Sun"):("error")))))));
    System.out.println(d);打了半天,好累,switch-case就不打了