所有内容都会编译,但是当我打印大小和数组元素时,它表示并非所有值都被添加,因为大小和值只是部分值。此外,有时哨兵值不起作用(我必须每次输入两次)。出了什么问题?
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
答案 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);
会产生预期的结果