ArrayLists没有正确添加值?

时间:2016-01-24 03:46:41

标签: java

所有内容都会编译,但是当我打印大小和数组元素时,它表示并非所有值都被添加,因为大小和值只是部分值。此外,有时哨兵值不起作用(我必须每次输入两次)。出了什么问题?

    import java.util.ArrayList;
    import java.util.Scanner;

    public class BowlingScoresArrayList{

    public static final int SENTINEL = -999;
    public static final int MIN=-1;
    public static void main (String [] Args) {

    ArrayList<Integer> bowlingScores = new ArrayList<Integer>(); 

    Scanner reader = new Scanner(System.in); 
    System.out.println("Enter your scores: ");

  do {
     bowlingScores.add(reader.nextInt());
  } while (reader.nextInt()!= SENTINEL); 

  System.out.println(bowlingScores);
  System.out.println(bowlingScores.size());

所以我尝试输入这些值:

    Enter your scores: 
    1
    2
    2
    3
   -999
   -999

它产生了这个:

    [1, 2, -999]
    3

1 个答案:

答案 0 :(得分:2)

您的问题是,您使用了两个import shelve self.netManager=QNetworkAccessManager() #... Load Pages and Login .... with shelve.open('LoginDb','c') as db: db['cooki']= QtNetwork.QNetworkCookieJar(parent=self) 语句......

nextInt

因此,您要求用户提供两次输入。

相反,像......

do {
   bowlingScores.add(reader.nextInt());
} while (reader.nextInt()!= SENTINEL); 

会产生预期的结果