Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将整数拆分为数字数组_Java - Fatal编程技术网

Java 将整数拆分为数字数组

Java 将整数拆分为数字数组,java,Java,我需要取一个输入的整数,把数字分开,最后用它们进行计算。我认为最好的方法是使用数组。如何获取int并将其数字放入数组?创建ArrayList整数类型 ArrayList<Integer> arl = new ArrayList<Integer>(); 这个怎么样: int a = 1234321; char[] c = ("" + a).toCharArray(); int[] digits = new int[c.length]; for (int i = 0 ;

我需要取一个输入的整数,把数字分开,最后用它们进行计算。我认为最好的方法是使用数组。如何获取int并将其数字放入数组?

创建ArrayList整数类型

 ArrayList<Integer> arl = new ArrayList<Integer>();
这个怎么样:

int a = 1234321;

char[] c = ("" + a).toCharArray();
int[] digits = new int[c.length];
for (int i = 0 ; i < digits.length ; i++)
    digits[i] = c[i] - '0';

for (int i : digits) System.out.println(i);
inta=1234321;
char[]c=(“”+a).toCharArray();
int[]位数=新的int[c.长度];
对于(int i=0;i
输出:

1
2
3
4
3
2
一,

试试这个:

int value = 234567;
String[] digits = Integer.toString(value).split("");
System.out.println(Arrays.toString(digits));
结果:

[, 2, 3, 4, 5, 6, 7]
[2, 3, 4, 5, 6, 7]
考虑到第一(0)个位置为空

使用整数的另一种方法:

int value = 234567;
        ArrayList<Integer> result = new ArrayList<Integer>(); 
        while(value > 0){
            result.add(value%10);
            value = value/10;
        }
        Collections.reverse(result);
        System.out.println(result);

. 请注意,然后可以对阵列进行操作。[1] :@JavaWithJava您可能不应该删除整个问题。对不起。我不希望人们浪费时间试图用解决方案解决问题。我没有考虑其他有同样问题的人会怎么看这里。在这种情况下,你可以接受一个表明问题已经解决的答案。如果正在解决的问题被删除,论坛就没有意义了。。此外,没有问题就没有答案。。(其他用户将来可能会这样想)如果他们看到这篇文章。我不是投反对票的人,但你的答案没有编译,也没有回答问题。他不是在问这个。。他要求把整数分解成个位数。。56分为5分和6分。。并且您不能在基本类型上创建ArrayList,您不能对基本数据类型使用泛型。你需要使用一个包装类。当你可以使用简单的模运算进行0次转换时,为什么要低效地将int转换为字符串,然后再转换为char数组?只需使用
System.out.println(Arrays.toString(a))
而不是loop我编辑了代码,这样就不会重复地将int转换为字符串。现在它只是一个字符串转换和一系列后续减法。我认为OP需要一个
int[]
而不是
string[]
。为了获得更好的结果,可以尝试
split((?发布了另一个解决方案(只是为了好玩,a.R.s.解决方案对我来说很好)+1提供数学方法,而不是简单地滥用int到字符串的转换。“滥用”似乎有点苛刻,你说呢
[2, 3, 4, 5, 6, 7]