从数字中提取个别数字。

时间:2014-11-04 02:46:30

标签: java arrays numbers

我正在尝试从给定的整数中提取单个数字。例如,从1234开始,我想在数组中存储1,2,3,4。每次数字的位数可能不相同。我不知道如何初始化数组。

int number = 1234;

int [] a = new int[];

for(int i =0;i<lengthOfNum;i++){
    a[i] = digitReturn();
}

4 个答案:

答案 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,然后将值存储到。

相关问题