我有两个数字输入
1010 212
我想把它们分成两个不同的数组([1 0 1 0]和[2 1 2])
这是我的代码
import java.io.*;
import java.util.*;
public class Solution {
public static void main(String[] args) {
int Array[] = new int[8];
int Array2[] = new int[8];
int i = 0;
Scanner getNumber = new Scanner(System.in);
do {
Array[i] = getNumber.nextInt();
i++;
} while(getNumber.hasNextInt());
System.out.println(Arrays.toString(Array));
}
}
但我把它作为输出
[1010,212,0,0,0,0,0,0]
(我把8作为通用数组长度,因为java编译器强制要初始化每个数组)
答案 0 :(得分:3)
您需要先存储数字,然后根据数字的长度初始化数组。你可以把它变成一个字符串来获得长度。留下一个数字和一个空数组后,您可以通过多种方式split an integer into an array of its digits。
int[] array, array2;
Scanner in = new Scanner(System.in);
int a, b;
a = in.nextInt();
b = in.nextInt();
array = new int[Integer.toString(a).length()];
array2 = new int[Integer.toString(b).length()];
int i = 0;
while(a > 0) {
array[i] = a % 10;
a /= 10;
i++;
}
i=0;
while(b > 0) {
array2[i] = b % 10;
b /= 10;
i++;
}
System.out.println(Arrays.toString(array));
System.out.println(Arrays.toString(array2));