public void testIfElse(int number){
if(number>=0 && number <= 9){
do0_9();
}else if(number>=10 && number <= 99){
do10_99();
}else if(number>=100 && number <= 999){
do100_999();
}else{
System.out.println("请正确输入数据!");
}
}请用switch/case重写此方法。
if(number>=0 && number <= 9){
do0_9();
}else if(number>=10 && number <= 99){
do10_99();
}else if(number>=100 && number <= 999){
do100_999();
}else{
System.out.println("请正确输入数据!");
}
}请用switch/case重写此方法。
case 0:
case 1:
...
case999 :
你说死不死?
LZ的想法有点怪
//缺点,不能对0做处理
int i = (int)Math.log10(number);
switch(i) {
case 0:
do0_9();
break;
case 1:
do10_99();
break;
case 2:
do100_999();
break;
default:
System.out.println("请正确输入数据!");
}
}
如果number经过处理是可以的
如果number不允许处理的话(我也不知道怎么弄)
public void testSwitchCase(int number) {
int num = countTimes(number , 10);
switch(num) {
case 0:
System.out.println("0 - 9");
break;
case 1:
System.out.println("10 - 99");
break;
case 2:
System.out.println("100 - 999");
break;
default:
System.out.println("请正确输入数据!");
break;
}
}
public int countTimes(int number , int radix) {
int count = -1;
while(number != 0 && number >= 0) {
number = number/radix;
count++;
}
return count;
}
String s=Integer.toString(i);
switch(s.length())//根据数字的长度计算,呵呵
{
case 1:System.out.println("0-9");break;
case 2:System.out.println("10-99");break;
case 3:System.out.println("100-999");break;
default:
System.out.println("default");
}
public void TestSwitch(int number)
{
if(number<0){
System.out.println("小于0");
return;
}
String s=Integer.toString(number);
switch(s.length())
{
case 1:System.out.println("0-9");break;
case 2:System.out.println("10-99");break;
case 3:System.out.println("100-999");break;
default:
System.out.println("default");
}
}
//缺点,不能对0做处理
int i = (int)Math.log10(number);
if(number<0)
i = -1;
switch(i) {
case 0:
do0_9();
break;
case 1:
do10_99();
break;
case 2:
do100_999();
break;
default:
System.out.println("请正确输入数据!");
}
}
int flag = number>-1?(number>9?(number>99?(number>999?4:3):2):1):-1;
switch (flag){
case 1:
do0_9();break;
case 2:
do10_99();break;
case 3:
do100_999();break;
default:
System.out.println("请正确输入数据!");
}
}
你输入负数的时候
根本没能进入我的while循环
也就是count是-1,按你题目的意思我将它归于default那一类了
分解出来N多个if else
换汤不换药