Вы можете просто использовать цикл, пока не получите желаемое значение. Вы упоминаете, чтобы остановить, когда пользовательский ввод 42
:
int tmp;
while((tmp = sc.nextInt()) != 42){
// do something
}
Это будет считывать ввод, пока не будет введен 42
.
Scanner sc = new Scanner(System.in);
int tmp;
while((tmp = sc.nextInt()) != 42){
System.out.println(tmp);
}
sc.close();
Ввод:
1, 2, 3, 5, 48, 42
Выход:
1
2
3
5 * * тысяча двадцать-один
48
Дополнительная информация
Теперь, если вы хотите сохранить их, если вы используете массив, вам нужно будет создать массив с достаточным количеством пробелов (рискованным), например: new int[1000];
или вы можете использовать List
, чтобы использовать коллекцию динамического размера , Если вы этого не знаете, просто знайте, что для создания List
вам просто нужно:
List<Integer> input = new ArrayList<>(); //int[] input = new int[####];
Затем, чтобы добавить значение в конце, вы можете:
input.add(i); //input[index] = i;
И прочитать значение (получить):
input.get(index); // input[index]
Затем я замечаю, что вы используете ls
, предшествующий размеру массива, вы можете узнать, сколько значений было добавлено в список, используя метод size()
:
ls = input.size();