Java 将数字拆分为整数数组
我想拆分一个Java 将数字拆分为整数数组,java,math,split,integer,Java,Math,Split,Integer,我想拆分一个整数,这样我就能知道它是杜德尼数还是阶乘数。我已经尝试过了,但感觉可以更好,但不知道如何改进。我试图解决的主要问题是为完成任务而编写的代码量。假设输入的数字是3579 int number = input.nextInt(); double temp = number; int counter = 0; while(temp >1){ temp/=10; counter++; } 这段代码只获取数字的长度,因此我可以使数组具有适当的长度 int[] numb
整数
,这样我就能知道它是杜德尼数还是阶乘数。我已经尝试过了,但感觉可以更好,但不知道如何改进。我试图解决的主要问题是为完成任务而编写的代码量。假设输入的数字是3579
int number = input.nextInt();
double temp = number;
int counter = 0;
while(temp >1){
temp/=10;
counter++;
}
这段代码只获取数字的长度,因此我可以使数组具有适当的长度
int[] numberSplitted = new int[counter];
int divisor = (int)Math.pow(10, (counter-1)); // = 1000 in this case
int locationInArray = 0;
while(divisor != 0){
int result = number / divisor; //result = 3579/1000 = 3;
number %= divisor; // number = 3579%1000 = 579;
divisor /= 10; // divisor = 100;
numberSplitted[locationInArray] = result;
locationInArray++;
}
您可以将数字转换为
字符串
,并将其拆分为单个数字。完成此操作后,可以使用for
循环,并将字符串
数组的内容逐个转换为int
String[] stringNumber = Integer.toString(number).split("(?<=.)");
for(int i = 0; i < stringNumber.length; i++) {
numberSplitted[i] = Integer.valueOf(stringNumber[i]);
}
String[]stringNumber=Integer.toString(number).split(“(?查看