之前在一位博客那看到一个求数字长度的好方法
今天在写例题的时候也是用上了
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;
}
这段代码就是实现从高位到到低位的一段语句
整个过程是草稿纸上推的可能有很多不足,不够简洁之类的但是只是目前我的一个思维水平.有什么不足,希望大佬指出.
本文介绍了如何将数字转换为数组,重点在于从高位到低位的存储方式,避免了常规方法中需要额外反转数组的步骤。这种方法通过直接计算数字的高位并存入数组,简化了数字到数组的转换过程。
7750

被折叠的 条评论
为什么被折叠?



