前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java中如何获取一个正整数的位数?

java中如何获取一个正整数的位数?

作者头像
昨天50还没用完
发布2018-06-29 14:52:40
3.6K0
发布2018-06-29 14:52:40
举报

java中如何获取一个正整数的位数?

第一种(使用%,math.log)

int a = 1104;
// 最后一位
System.out.println(a % 10);

int m = 1;
for (int i = 0; i < (int) Math.log10(a); i++) {
    m *= 10;
}
// 第一位
System.out.println(a / m);

第二种(转换为字符串)

Scanner input=new Scanner(System.in);
System.out.println("请输入数字:");
int shu=input.nextInt();
String s=String.valueOf(shu);
//或使用:String s=Integer.toString(shu);
int t=s.length();
System.out.println("你输入的数的位数为:" + t);
计算各位的数字之和
import java.util.Scanner;
/**
* 计算数字的每一位之和
* @author haha
*
*/
public class jisuanxinhao {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("输入一个正整数来计算各位的和:");
int num = input.nextInt();
int Temonum;
String str = String.valueOf(num);
int Tempnum = num;//不直接修改输入的数字,定义一个承接变量;
int i = 0,sum=0;//初始化,拆分计算的整型数字
//循环操作计算累加
if (str.length() < 7) //防止输入的数字超出int范围
{
while(Tempnum != 0) {
sum += Tempnum%10;//取模获取数字的最后一位
Tempnum /= 10;//除法祛除最后一位数“卸磨杀驴”
//打印结果
}
System.out.printf("数字%d的各位数的结果为:%d\n",num,sum);
}else {System.out.println("out of range");
}
//String str = String.valueOf(num);//将数字转换为字符串
//System.out.println(str.length());//通过得到字符串的个数来获取计算数字的位数
}
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档