Все скомпилируется, но когда я печатаю размер и элементы массива, это указывает на то, что не все значения добавлены, потому что размер и значения будут только частичными. Кроме того, иногда дозорное значение не работает (я должен вводить его дважды порой). Что не так?ArrayLists не добавляет значения правильно?
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
только называют 'reader.nextInt()' *** РАЗ *** в пределах вашего цикла. –
, и это включает условие цикла, поскольку, как только вы читаете nextInt(), полученное значение используется. Поэтому прочтите его в ** переменную **, проверьте эту переменную и используйте ее. –