我有一个整数,从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;
}
非常感谢帮助。
答案 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';
}