我正在尝试从给定的整数中提取单个数字。例如,从1234开始,我想在数组中存储1,2,3,4。每次数字的位数可能不相同。我不知道如何初始化数组。
int number = 1234;
int [] a = new int[];
for(int i =0;i<lengthOfNum;i++){
a[i] = digitReturn();
}
答案 0 :(得分:4)
您可以尝试以下操作:
int number = 1234;
int length = Integer.toString(number).length();
int[] a = new int[length];
int index = length - 1;
for (int i = 0; i < length; i++){
a[i] = number % 10;
number = number / 10;
index--;
}
将数字转换为String以获取大小并使用该值来声明数组的长度,然后循环遍历它,使用模数提取最后一个数字然后除以除去整数中的最后一个数字。
答案 1 :(得分:0)
将数字转换为字符串,然后将字符串拆分为数组。之后,将字符转换为整数,如下所示:
int number = 1234;
List<Integer> digits = ArrayList<Integer>();
String digitsAsString = ("" + number).split("");
for(String digitAsString:digitsAsString){
digits.add(new Integer(Integer.parseInt(digitAsString));
}
您的数字数组是digits
答案 2 :(得分:0)
int number = 4567;
String number_string = String.valueOf(number);
char[] chars = number_string.toCharArray();
int[] digits = new int[chars.length];
int i = 0;
for (char c : chars) {
digits[i] = c - '0';
i++;
}
答案 3 :(得分:0)
int number = 1234;
String num = Integer.toString(number);
int [] a = new int[num.length()];
for(int i = 0; i < num.length(); i++){
a[i] = Character.getNumericValue(num.charAt(i));
}
首先将数字转换为String,循环遍历每个char并将它们转换为int,然后将值存储到。