您的位置:首页 > 编程语言 > Java开发

java 流程控制语句练习

2018-03-01 16:44 316 查看

题目:

判断一个数(小于10位)的位数。

例如:输入999,则输出 “它是个3位的数!”

渣代码:

public class HelloWorld{
public static void main(String[] args){
int num = 999;

int count = 0;

int upNum = 10;

int i = 1;

for (; i <= 10; i++) {
if (num < upNum) {
break;
}

if (i == 1) {
continue;
}

upNum *= 10;
}

String str = "它是个" + (i - 1) + "位的数!";

System.out.println(str);
}
}


好代码

public class HelloWorld{
public static void main(String[] args){
String str;

int num = 999;

int count = 0;

if (num >= 0  && num<=999999999){
while(num != 0){
count++;
num/=10;
}
str = "它是个"+ count+"位的数!";
} else{
str = "输入有误!";
}

System.out.println(str);
}
}


总结

要充分利用 Java 的强类型特性,能更简洁有效;

比如,这里面因为 num 是 int 类型,所以 999 / 10 的时候得到的是 99,而不是 99.9;

三次之后,num 就是0,而 count 正好得出3,也就是正确的位数
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: