如何将一个空格分隔的两个数字放入两个不同的数组

时间:2016-11-13 02:30:44

标签: java arrays

我有两个数字输入

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编译器强制要初始化每个数组)

1 个答案:

答案 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));