之前在一位博客那看到一个求数字长度的好方法
今天在写例题的时候也是用上了
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
//判断数字长度
String lon = num + "";
现在lon是字符串就可以用length求出长度
import java.util.Scanner; public class eg06 { //数字转成数组 public static void main(String[] args) { Scanner sc = new Scanner(System.in); int num = sc.nextInt(); //判断数字长度 String lon = num + ""; //System.out.println(lon.length()); int[] arr = new int[lon.length()]; //将数字存入数组 for (int i = 0; i < lon.length(); i++) { //num除的几个10 int cf=1; for (int j = 0; j < lon.length()-i-1; j++) { cf*=10; } arr[i] = num/cf; num%=cf; } //输出数组 for (int i=0 ; i <lon.length();i++) { System.out.print(arr[i]); } } }
正常的是先将数字的最后一位依次存到数组当
arr = num%10;
num/=10;
不过存完后就会发现数组与原数字是颠倒过来的还得再进行一次颠倒,我这里直接将数字的最高位依次往下放入数组当中
for (int i = 0; i < lon.length(); i++) { //num除的几个10 int cf=1; for (int j = 0; j < lon.length()-i-1; j++) { cf*=10; } arr[i] = num/cf; num%=cf; }
这段代码就是实现从高位到到低位的一段语句
整个过程是草稿纸上推的可能有很多不足,不够简洁之类的但是只是目前我的一个思维水平.有什么不足,希望大佬指出.