案例7、整数位数
功能描述::任意输入一个整数(小于10位),求它的位数
源代码参考:补充资料\案例7\整数位数
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入任意一个整数:");
int num = input.nextInt();
int count = 0;
do{
num = num / 10; //提取位数
count++;
}while(num > 0);
System.out.println(count + "位");
}
}
这个过程完成没有看懂,求文字解析过程!
一道简单的JAVA基础题,求解疑!多谢!
答案:4 悬赏:70
解决时间 2021-02-21 05:18
- 提问者网友:醉人眸
- 2021-02-20 18:13
最佳答案
- 二级知识专家网友:温柔刺客
- 2021-02-20 19:53
举个例子吧。
int num = input.nextInt();
你输入 98980。这是5位数吧。
do{
num = num / 10; //提取位数
count++;
}while(num > 0);
num = 98980,除以10之后的值是9898,赋值给num。这时候,计数器count++就成了1。
然后判断循环条件(num>0)是成立的(9898当然大于0),接着循环。num/10,就是9898/10 = 989,赋值给num。count继续加1,变成了2 。再判断循环条件(num>0)成立(989>0),再循环。num/10,就是989/10=98,赋值给num。count继续加1,变成了3 。再判断循环条件(num>0)成立 (98>0)。再循环,num/10,即98/10=9,赋值给num 。count++变成了4。再判断循序条件(num>0)成立,(9当然大于0啦)。再循环,num/10,即9/10 = 0,赋值给num。count++变成了5。再判断(num>0)不成立了。(0不大于0了),所以不循环了。继续
System.out.println(count + "位");
就打印 5位
int num = input.nextInt();
你输入 98980。这是5位数吧。
do{
num = num / 10; //提取位数
count++;
}while(num > 0);
num = 98980,除以10之后的值是9898,赋值给num。这时候,计数器count++就成了1。
然后判断循环条件(num>0)是成立的(9898当然大于0),接着循环。num/10,就是9898/10 = 989,赋值给num。count继续加1,变成了2 。再判断循环条件(num>0)成立(989>0),再循环。num/10,就是989/10=98,赋值给num。count继续加1,变成了3 。再判断循环条件(num>0)成立 (98>0)。再循环,num/10,即98/10=9,赋值给num 。count++变成了4。再判断循序条件(num>0)成立,(9当然大于0啦)。再循环,num/10,即9/10 = 0,赋值给num。count++变成了5。再判断(num>0)不成立了。(0不大于0了),所以不循环了。继续
System.out.println(count + "位");
就打印 5位
全部回答
- 1楼网友:温柔刺客
- 2021-02-20 22:01
这样的问题建议你去动力节点官网咨询一下
动力节点是专业从事Java软件开发培训的机构
那里有中国Java培训领域,Java项目和ssh框架讲解最好的讲师,
还有免费的国内知名讲师王勇老师亲自录制的视频教程,
- 2楼网友:承载所有颓废
- 2021-02-20 20:58
首先输入一个十位的数,然后这个数除以10每除一次,count自加一,小于零,跳出循环!就这么简单啊,建议楼主多看书
- 3楼网友:颜值超标
- 2021-02-20 20:19
public static void main(String[] args) {
Scanner input = new Scanner(System.in); //新建一个类实例用于获取输入
System.out.print("请输入任意一个整数:");
int num = input.nextInt();// 把获取的整形放入整形变量 num中
int count = 0; //计数,有多少位数
do{
num = num / 10; //提取位数,就是num 除 10 ,商给num
count++; //位数加 1
}while(num > 0); //当除10 取得的商 大于0 时继续 做 do之后 花括号语句
System.out.println(count + "位");//输出,输入的整数的位数
}
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯