Java - 在数组中获取数字

时间:2014-04-11 23:49:12

标签: java

我正在尝试编写一个从用户那里获取输入的程序,例如" 1 5 3 6 3 5 0"一条线。我想接受这个输入并将每个数字存储在一个数组中。因此,例如,我的数组将具有值1,5,3,6,3,5,0。

我甚至不知道从哪里开始。我知道要创建一个扫描仪。我想也许我可以做nextLine();然后用空格分隔它并将值放入数组中。但是,nextLine()只接受字符串。

4 个答案:

答案 0 :(得分:2)

您可以使用.split().chatAt(position)将整个字符串中的每个元素分开。

String a = example.charAt(0); 
例如,这将复制第一个字符。

答案 1 :(得分:1)

在这里,只要输入的数字与它们之间有空格,这将填充一组int:

    System.out.println("Enter something > ");
    Scanner input = new Scanner(System.in);

    //read in string entered by user
    String inputString = input.nextLine();

    //split the string into an array of strings, using [space]
    String[] split = inputString.split(" ");

    //create a new int array, and populate it with the contents of the split string
    int intarray[] = new int[split.length];

    for (int i = 0; i < split.length; i++) {
        intarray[i] = Integer.parseInt(split[i]);
    }

答案 2 :(得分:0)

String input = "1 5 3 6 3 5 0";
String[] inputs = input.split(" ");
ArrayList<Integer> values = new ArrayList<Integer>();
for (String s : inputs) {
     values.add(Integer.parseInt(s));
}
System.out.println(values);

这会打印[1, 5, 3, 6, 3, 5, 0]

答案 3 :(得分:0)

你可以尝试nextInt():

Scanner scn = new Scanner(System.in);
int[] nums = new int[5];
out.printf("Enter %d numbers, space separated: ", nums.length);
for(int i = 0; nums.length > i; i ++) {
    nums[i] = scn.nextInt();
}
out.println("\nYour values are:");
for(int i : nums) {
    out.printf("%-8d", i);// u may use //out.printf("%d\t", i);
}