題目:給一個不多於 5 位的正整數,要求:一、求它是幾位數,二、逆序打印出各位數字。
分析:1.可以單單從數學數字上考慮,我們一個個拿掉數字的位數,把這些位數重構得到一個新的數字
2.我們把數組當成字符串->字符串數組,對數組進行倒序輸入,這樣有不用顧忌數學處理數組的麻煩
一.逐位摘掉數字,進行先拆分,后重構
1 public static void funciton(int num) { 2 int length = 0; 3 int newNum = 0; 4 while (num != 0) { 5 int numGe = num % 10; 6 num = num / 10;// 拿掉末尾剩下 的整數 7 newNum = newNum * 10 + numGe;// 逆轉得到的新數字 8 length++;// 記錄整數的長度 9 } 10 System.out.println(length); 11 System.out.println(newNum); 12 }
二.把數字轉為字符串數組,對數組進行操作
public static void function01(int num) { int len = 0; //用Sting類的valueOf(int a);方法將int->sting類型 String str = String.valueOf(num); //sting->char[] char[] array = str.toCharArray(); System.out.println(Arrays.toString(array)); for (int i = 0; i < array.length; i++) { len++; // 倒序輸出數組元素 System.out.print(array[array.length - i - 1]); } System.out.println(); System.out.println("長度為:" + len); }
個人傾向第二種方法