Как посчитать массив до определенного целого числа (Java)? - PullRequest
0 голосов
/ 06 августа 2020

У меня есть программа, в которой у меня есть массив, в который значения вводятся пользователем с помощью сканера, а затем мне нужно сложить значения всех целых чисел вместе. Как бы я go это сделал, если для массива не задана длина.

Ответы [ 2 ]

0 голосов
/ 06 августа 2020

Лучшим подходом было бы сохранение целочисленных значений в структуре списка.

final List<Integer> values = new ArrayList();

Структура списка динамически расширяется после добавления нового элемента:

values.add(newUserValue);

Если вы используете Java в версии 8 и выше, вы можете использовать метод sum () из Stream API:

final Integer sum = values.stream().mapToInt(Integer::intValue).sum();

Если вы используете Java в версии ниже 8, вы можете написать функцию, которая выполняет итерацию по каждому элементу списка и суммирует их:

int sum(final List<Integer> values) {
   int sum = 0;
   for(final Integer value : values) {
      sum += value;
   }
   return sum;
}
0 голосов
/ 06 августа 2020

Вы можете либо запросить у пользователя длину массива, либо определить определенное значение, например -1, чтобы обозначить конец ввода.

Вариант 1 ( Демо ):

Scanner sc = new Scanner(System.in);
System.out.println("How many numbers do you want to sum?");
int len = sc.nextInt();
sc.nextLine();
int sum = 0;
for(int i = 0; i < len; i++){
    sum += sc.nextInt();
    sc.nextLine();
}
System.out.println("The sum is " + sum);

Вариант 2 ( Демо ):

Scanner sc = new Scanner(System.in);
System.out.println("Enter numbers to sum. Enter -1 to stop.");
int sum = 0;
int num;
while((num = sc.nextInt()) != -1){
    sc.nextLine();
    sum += num;
}
System.out.println("The sum is " + sum);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...