给定一个非负整数,我需要返回一个包含初始数字的数组,考虑到初始数应小于100,000。 例如:
separateDigits(93) → {9, 3}
separateDigits(125) → {1, 2, 5}
separateDigits(732) → {7, 3, 2}
如何分开数字?
答案 0 :(得分:0)
你需要创建一个数组,但首先你需要知道有多大。然后你需要用数字填充数组。
public byte[] separateDigits(long n) {
int digits = 1;
for(long m = n; (m /= 10) > 0; digits++);
byte[] ret = new byte[digits];
for(int i = digits - 1 ; i >= 0; i--, n /= 10)
ret[i] = (byte) (n % 10);
return ret;
}
答案 1 :(得分:0)
//this might help you
import java.util.*;
public class SeparaeDigits {
public static void main(String[] args) {
int num =123;
seperateDigits(num);
}
public static void seperateDigits(int num){
int i=0;
int remainder =0;
int []arr = new int[3];
while(num>0){
remainder = num % 10;
num = num/10;
for(i =0; i<arr.length; i++){
arr[i]=remainder;
}
for(i =0; i<arr.length; i++){
System.out.println(arr[i]);
}
}
}
}