如何返回包含初始数字的数字的数组

时间:2015-08-18 06:22:40

标签: java arrays digits

给定一个非负整数,我需要返回一个包含初始数字的数组,考虑到初始数应小于100,000。 例如:

separateDigits(93) → {9, 3}
separateDigits(125) → {1, 2, 5}
separateDigits(732) → {7, 3, 2}

如何分开数字?

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]);
}

}
}
}