У меня есть этот код ниже, который должен взять пользовательский ввод и сохранить его в массиве, и мне просто интересно, почему он не позволяет мне вводить какие-либо числа.Невозможно принять пользовательский ввод при использовании цикла while
Должно ли входная часть находиться внутри оператора if? И что является лучшим способом заставить его работать правильно?
import java.util.*;
public class fun_with_loops {
static Scanner scan = new Scanner(System.in);
public static void main (String[] args) throws java.io.IOException
{
int[] numbers = new int[10];
int numberSize = 0;
System.out.print("Enter a few numbers please\n");
while (numbers.length < 10)
{
int input = scan.nextInt();
if (input != 0)
{
numbers[numberSize] = input;
numberSize++;
}
else
{
break;
}
}
}
}
Потому что ваш номер.length всегда будет 10, он никогда не будет меньше 10. Вам нужно использовать переменную count, чтобы принимать пользовательский ввод 10 раз для хранения в массиве. –
gotcha спасибо! –