Java如何判斷一個(gè)整數(shù)有多少位
Java判斷一個(gè)整數(shù)有多少位
首先,封裝一個(gè)判斷位數(shù)的方法;使用for循環(huán)進(jìn)行判斷整數(shù)的位數(shù)。直到傳進(jìn)的整數(shù)小于數(shù)組中某個(gè)值時(shí),停止循環(huán)。
/**
* 獲取整數(shù)有多少位
* @param num 要判斷的整數(shù)
* @return 該整數(shù)的位數(shù)
*/
public static int getNumDigit(int num) {
// 設(shè)置整數(shù)最大位數(shù)組參數(shù)
int[] digits = {9, 99, 999, 9999, 99999, 999999, 9999999,
99999999, 999999999, Integer.MAX_VALUE};
// 循環(huán)判斷num的大小
for (int i = 0; ; i++) {
// 當(dāng)num的值小于digits[i]時(shí)停止循環(huán),此時(shí)i+1便是當(dāng)前num的位數(shù)
if (num <= digits[i]) {
return i + 1;
}
}
}
測(cè)試:定義一個(gè)七位數(shù)的數(shù)字 1000000,調(diào)用獲取整數(shù)位數(shù)的方法即可。
public static void main(String[] args) {
int num = 1000000;
int numDigit = getNumDigit(num);
System.out.println(num + " 的位數(shù)是:" + numDigit);
}
測(cè)試結(jié)果:

java獲取一個(gè)整數(shù)的各個(gè)位數(shù)
兩種方法~
- 第一種是取模運(yùn)算
- 第二種是使用char數(shù)組進(jìn)行分割開(kāi)依次存到數(shù)組【推薦第二種】
獲取一個(gè)四位數(shù)的各個(gè)位數(shù)
第一種
int qian =input/1000; //千位除以1000
int bai = input/100%10;//百位除以100%10
int shi = input%100/10;//十位%100/10
int ge = input%10;//個(gè)位直接%10
System.out.println("千位數(shù)"+qian+"百位是"+bai+"十位是"+shi+"個(gè)位數(shù)是"+ge);第二種
//實(shí)現(xiàn)數(shù)據(jù) 的排序 獲取各個(gè)位數(shù)
public static void main(String[] args) {
System.out.println("請(qǐng)輸入一個(gè)四位數(shù)");
//定義變量接受
@SuppressWarnings("resource")
int number = new Scanner(System.in).nextInt();
if(number>999&&number<10000) {
char[] chars = String.valueOf(number).toCharArray();
System.out.println("千位"+chars[0]);
System.out.println("百位"+chars[1]);
System.out.println("十位"+chars[2]);
System.out.println("個(gè)位"+chars[3]);
}else {
System.out.println("你輸入的不是四位數(shù)··系統(tǒng)終止??!請(qǐng)重新輸入??!");
}
}總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
如何配置cursor進(jìn)行Java springboot項(xiàng)目開(kāi)發(fā)
本文介紹了如何在Cursor IDE中配置Java和Spring Boot項(xiàng)目開(kāi)發(fā)環(huán)境,首先,設(shè)置了系統(tǒng)用戶級(jí)別的JDK配置,以便在多個(gè)項(xiàng)目之間切換時(shí)不需要重新配置,然后,配置了Gradle環(huán)境變量,并安裝了必要的Java開(kāi)發(fā)插件,感興趣的朋友跟隨小編一起看看2025-02-02
Java中定時(shí)器Timer致命缺點(diǎn)案例詳解
這篇文章主要介紹了Java中定時(shí)器Timer致命缺點(diǎn),以Java中定時(shí)器Time為案例整理下我的學(xué)習(xí)方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-02-02
java樂(lè)觀鎖原理與實(shí)現(xiàn)案例分析
這篇文章主要介紹了java樂(lè)觀鎖原理與實(shí)現(xiàn),結(jié)合具體案例形式分析了樂(lè)觀鎖的原理及java使用樂(lè)觀鎖實(shí)現(xiàn)自動(dòng)派單功能的相關(guān)操作技巧,需要的朋友可以參考下2019-10-10
java servlet結(jié)合mysql搭建java web開(kāi)發(fā)環(huán)境
之前寫(xiě)過(guò)一篇 servlet+oracle的文章,但是那是因?yàn)楣居锌赡芙幽敲匆粋€(gè)項(xiàng)目,然后我當(dāng)時(shí)也比較閑,所以隨便學(xué)了下,那玩意是白去研究了,因?yàn)楣竞竺娌](méi)接到那項(xiàng)目。2015-12-12
Struts2學(xué)習(xí)筆記(3)-DMI動(dòng)態(tài)調(diào)用方式
本文主要介紹Struts2的DMI動(dòng)態(tài)調(diào)用的兩種方式,簡(jiǎn)單實(shí)用,希望能給大家做一個(gè)參考。2016-06-06
詳解如何使用Java8?Steam流對(duì)Map進(jìn)行排序
這篇文章主要給大家詳細(xì)介紹了如何使用Java8?Steam流對(duì)Map進(jìn)行排序,文中通過(guò)代碼示例講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-01-01

