【问题标题】:How to put two numbers separated by a space into two different arrays如何将用空格分隔的两个数字放入两个不同的数组中
【发布时间】:2016-11-13 02:30:44
【问题描述】:

我有两个数字输入

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

【问题讨论】:

  • 所以你想读入一个数字,每个数字都是由该数字组成的所有数字的数组?
  • 是的,这就是我想要的

标签: java arrays


【解决方案1】:

您需要先存储数字,然后根据数字的长度初始化数组。您可以通过将其转换为字符串来获取长度。留下一个数字和一个空数组后,您可以通过多种方式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));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多