接受多个输入到数组

时间:2014-02-28 03:16:45

标签: java arrays user-input java.util.scanner

所以,我想让用户输入三个值(全部为double)只有一个提示并将它们存储在一个数组中(我刚开始熟悉创建对象和数组)。这是我到目前为止所得到的:

import java.util.Scanner;

  final int ARRAY_LIMIT=3;

  Scanner input=new Scanner(System.in);
  System.out.println("Enter the points and speed: ");
  double entryVal=input.nextDouble();
  double[] array=new double[ARRAY_LIMIT];      

  for(int entriesCounter=0; entriesCounter<array.length; entriesCounter++)
  {
     array[entriesCounter]=entryVal;
     if(array[2]==0)
        break;
  }

因此,当我尝试运行它并输入类似1.0,1.0,10.0的内容时,我会发出各种代码。关键是要同时输入所有3个值,最终在单独的方程中使用这些值,如果第三个数字为0则终止。但我想首先能够正确存储这些值。我试着看看其他以前回答的问题,但找不到对我有帮助的东西。我是Java的新手,所以我仍然笨手笨脚。任何详细的帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

我认为最好的方法就是把整行读成String:

public static void main(String[] args) {
    Scanner input = new Scanner(System.in);
    System.out.println("Enter the points and speed: ");
    String entryVal = input.nextLine();
    String[] stringArray = entryVal.split(" ");
    double[] array = new double[stringArray.length];
    for (int i = 0; i < array.length; i++) {
        array[i] = Double.valueOf(stringArray[i]);
    }
}

请注意,每个值必须仅按空格分隔。