如何在数组中只得到正整数?

时间:2014-05-01 02:45:09

标签: java arrays

我正在创建一个由用户提供的整数数组。但是,我只需要正整数。如何检查用户输入的整数以查看它是否为正?

 public static void main(String[] args)
 {
     Scanner input = new Scanner(System.in);
     Integer array [] = new Integer[10];
     int userChoice;
     boolean loop = true;

     // to loop through the switch and show userChoice to user until chose to 
     // quit

     System.out.println("Please enter the 10 positive integers to be represented in the BST:");

     for (int i = 0 ; i < array.length; i++ ) 
         array[i] = input.nextInt(); 
}

我尝试在if (input.nextInt() > 0)循环中执行for但程序只是冻结,并且在按Enter键时不执行任何操作。还尝试将for循环放在do while (input.nextInt() > 0)中,但我仍遇到同样的问题。

1 个答案:

答案 0 :(得分:1)

你可以做一些简单的事情,比如

for (int i = 0 ; i < array.length; i++ ) {
    int check = input.nextInt();
    if (check > 0)
        array[i] = check;
    else {
        System.out.println("Only positives, try again.");
        i--;
    }
}

但是,你可以更有创意,我建议你真的尝试。