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

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());//通过得到字符串的个数来获取计算数字的位数
}
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏用户画像

6.2.2 折半查找

折半查找,又称二分查找,它适用于有序的顺序表。基本思路是:首先将给定值key与表中中间位置元素的关键字比较,若相等,则查找成功,返回该元素的存储位置;若不等,则...

471
来自专栏向治洪

Kotlin语法基础之控制流

Kotlin 的控制流与 Java 的控制流基本相同,只是使用 when 代替了 switch。当然,在 Kotlin中,if 和 when 不仅仅可以作为语句...

1817
来自专栏杨龙飞前端

编写一个javscript函数 fn,该函数有一个参数 n(数字类型),其返回值是一个数组,该数组内是 n 个随机且不重复的整数,且整数取值范围是 [2, 32]。

1895
来自专栏武培轩的专栏

快手2018春招后端笔试题解

计算(x^y)%N 题目描述 计算(x^y)%N 注:(x^y)表示x的y次方 输入描述: 每个测试用例一行 每行为空格隔开的 int64_t 类型,分别对应x...

3495
来自专栏云霄雨霁

查找----基于有序数组

1350
来自专栏nummy

python堆排序heapq

堆是一种树形数据结构,其中子节点与父节点之间是一种有序关系。最大堆中父节点大于或等于两个子节点,最小堆父节点小于或等于两个子节点。Python的heapq模块实...

793
来自专栏深度学习计算机视觉

计算A+B

代码很冗余 时间限制:1秒空间限制:32768K热度指数:347 **算法知识视频讲解 题目描述 给定两个整数A和B,其表示形式是:从个位开始,每三位数用...

2667
来自专栏desperate633

LintCode 最长公共子串代码

701
来自专栏小樱的经验随笔

51 Nod 1791 合法括号子段【分治+字符串】

1791 合法括号子段 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 有一个括号序列,现在要计算一下它有多少非空子段是合法...

2736
来自专栏星汉技术

HIVE内置函数

4616

扫码关注云+社区