Java - 如何将整数对象值存储到整数数组中?

时间:2016-04-10 18:43:48

标签: java

我有一个整数,从java实用程序Random生成lottoNum。我需要将int lottoNum的整数值存储在名为sumArray的整数数组中,这样我就可以遍历数组来添加每个数字的值。如果lottoNum = 123456,则整数数组应为sumArray [] = {1,2,3,4,5,6};我不知道该怎么做,希望能得到一些帮助。

这是我的int lottoNum

的代码
// generate sets of random numbers between 1-9
randNum = genNumbers.nextInt(10);
// store the numbers into lottoNum
lottoNum = (lottoNum * 10) + randNum;

lottoNum被传递到另一个应该执行数学的类中,然后作为总和返回。

这是我的代码,用于迭代数组以添加数字

public int doMath(lottoNum) {
    int sumArray[] = {};
    int sum = 0;
    for (int i : sumArray)
    sum += i;
    return sum; 
}

如何(或我可以)将lottoNum的值放入数组的{}中?我正在读一些关于在lottoNum中分割数字的内容,但我完全迷失了。

我还发现这段代码可以获得整数的单独数字,但不确定如何将输出放入数组中。

int number; // = some int

while (number > 0) {
    print( number % 10);
    number = number / 10;
}

非常感谢帮助。

1 个答案:

答案 0 :(得分:1)

结果将在arr中,并且将与原始数字中的数字顺序相反。假设数字是123,结果数组将是{3,2,1}。

int number; // = some int

List<Integer> arrList = new ArrayList<>();

while (number > 0) {
    // To keep the same order, use arrList.add(0, number % 10);
    arrList.add(number % 10);
    number = number / 10;
}

Integer[] arr = new Integer[arrList.size()];
arrList.toArray(arr);

或者您可以将数字转换为字符串,然后将每个字符转换为数字;

int number; // some number
char[] numChars = Integer.toString(number).toCharArray();
int arr[] = new int[numChars.length];

for (int i = 0; i < numChars.length; ++i) {
    arr[i] = numChars[i] - '0';
}