使用java中的限制通过空格读取整数数组

时间:2014-11-27 09:16:21

标签: java arrays string java.util.scanner

我的要求是:

输入的第一行由整数n(其中n> = 3)组成,表示数组的大小。在下一行中,将有n个由空格分隔的整数,对应于数组中的n个元素。为此,我使用了以下代码:

Scanner length = new Scanner(System.in);
         System.out.println("Please Enter Length of Aarry:");
         int n=length.nextInt();
         int[] numbers = new int[n];


        Scanner sc = new Scanner(System.in);



        System.out.println("Enter the elements seperated by spaces: ");
        String input = sc.nextLine();
        StringTokenizer strToken = new StringTokenizer(input);
        int count = strToken.countTokens();
        //Reads in the numbers to the array
        System.out.println("Count: " + n);
        int[] arr = new int[n];

        for(int x = 0;x < n;x++){
            arr[x] = Integer.parseInt((String)strToken.nextElement());
            System.out.println("values are: " + arr[x]);

        }

但问题是:上面的代码会正确读取用空格输入的所有整数,但我想指定输入值的限制。请帮我解决这个问题。

1 个答案:

答案 0 :(得分:1)

有几种方法可以解决您的问题&#39;:

  • 最简单:根本不要求数组的长度=&gt; length = #tokens
  • 验证:if (n != count) System.err.println("Invalid input...")