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; } } }
測試:定義一個(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); }
測試結(jié)果:
java獲取一個(gè)整數(shù)的各個(gè)位數(shù)
兩種方法~
- 第一種是取模運(yùn)算
- 第二種是使用char數(shù)組進(jìn)行分割開依次存到數(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("請輸入一個(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)終止??!請重新輸入!!"); } }
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
如何配置cursor進(jìn)行Java springboot項(xiàng)目開發(fā)
本文介紹了如何在Cursor IDE中配置Java和Spring Boot項(xiàng)目開發(fā)環(huán)境,首先,設(shè)置了系統(tǒng)用戶級別的JDK配置,以便在多個(gè)項(xiàng)目之間切換時(shí)不需要重新配置,然后,配置了Gradle環(huán)境變量,并安裝了必要的Java開發(fā)插件,感興趣的朋友跟隨小編一起看看2025-02-02Java中定時(shí)器Timer致命缺點(diǎn)案例詳解
這篇文章主要介紹了Java中定時(shí)器Timer致命缺點(diǎn),以Java中定時(shí)器Time為案例整理下我的學(xué)習(xí)方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-02-02java servlet結(jié)合mysql搭建java web開發(fā)環(huán)境
之前寫過一篇 servlet+oracle的文章,但是那是因?yàn)楣居锌赡芙幽敲匆粋€(gè)項(xiàng)目,然后我當(dāng)時(shí)也比較閑,所以隨便學(xué)了下,那玩意是白去研究了,因?yàn)楣竞竺娌]接到那項(xiàng)目。2015-12-12Struts2學(xué)習(xí)筆記(3)-DMI動(dòng)態(tài)調(diào)用方式
本文主要介紹Struts2的DMI動(dòng)態(tài)調(diào)用的兩種方式,簡單實(shí)用,希望能給大家做一個(gè)參考。2016-06-06詳解如何使用Java8?Steam流對Map進(jìn)行排序
這篇文章主要給大家詳細(xì)介紹了如何使用Java8?Steam流對Map進(jìn)行排序,文中通過代碼示例講解的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-01-01