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 条评论
登录 后参与评论

相关文章

来自专栏有趣的Python

8-Java基础语法-Java方法

类,Scanner是一个类,sc是它实例化出的对象。nextInt()是从键盘获取一个整型值的方法,next()是从键盘获取一个字符串类型值的方法。这两个都是使...

2281
来自专栏全沾开发(huā)

学习zepto.js(对象方法)[3]

学习zepto.js(对象方法)[3] 继续说zepto里attributes的相关操作. attr,removeAttr,prop这...

3739
来自专栏進无尽的文章

Swift| 基础语法(二)

总结下 swift下的基础语法,里面涉及到:常量&变量、Swift中的数据类型、逻辑分支、循环、字符串相关、数组和字典、方法的书写调用等内容,考虑到阅读体验分多...

792
来自专栏前端菜鸟变老鸟

ES6(三):变量的解构赋值

解构赋值语法是一个Javascript表达式,这使得可以将值从数组或属性从对象提取到不同的变量中,文中主要讲数组的解构赋值、对象的解构赋值、字符串的解构赋值、数...

862
来自专栏Python自动化测试

python的字符串学习(三)

学习Python语言,不得不学习在Python中,对字符串的处理,事实上,在Str类中提供了很多的方法来对字符串的处理,比如我们经常见的字符串的大小小写的处理,...

1003
来自专栏待你如初见

Day02

973
来自专栏Java帮帮-微信公众号-技术文章全总结

【编程题】Java编程题四(10道)

【编程题】Java编程题四(10道) 【程序31】 题目:将一个数组逆序输出。 import java.util.*; public class lian...

5045
来自专栏数据处理

Scala函数

2015
来自专栏LIN_ZONE

es6语法需要注意的部分

由于无符号右移运算的结果是一个 32 位的正数,所以负数的无符号右移运算得到的总是一个非常大的数字。例如,如果把 -64 右移 5 位,将得到 13421772...

844
来自专栏Java帮帮-微信公众号-技术文章全总结

05-01总结方法,数组(一维)

1:方法(掌握) (1)方法:就是完成特定功能的代码块。 注意:在很多语言里面有函数的定义,而在Java中,函数被称为方法。 (2)格式: 修饰符 返回...

4155

扫码关注云+社区