Непрерывно суммируйте вводимые пользователем данные - JAVA - PullRequest
0 голосов
/ 09 мая 2020

Требуется помощь с суммированием непрерывных пользовательских вводов, пока не будет введен 0. Получил довольно близко. Просто нужно знать, что мне не хватает. Ниже приведен код

import java.util.Scanner;

public class Task3 {

    public static void main(String[] args) {
        while (true) {
            Scanner in = new Scanner(System.in);
            System.out.println("Enter a number");
            int number = in.nextInt();
            if (number == 0) {
                System.out.println("Okay thanks!");
                break;
            } else {
                System.out.println("The current answer is :" + number);
            }
        }

    }

}

Ответы [ 3 ]

1 голос
/ 09 мая 2020

Решите следующие проблемы в вашем коде:

  1. Вы никогда не должны создавать экземпляры Scanner внутри al oop.
  2. Вам нужна переменная, например sum для хранения текущая сумма чисел.

Сделайте это следующим образом:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int sum = 0;
        while (true) {
            System.out.print("Enter a number (0 to quit): ");
            int number = in.nextInt();
            if (number == 0) {
                System.out.println("Okay thanks!");
                break;
            }
            sum += number;
        }
        System.out.println("Sum of numbers = " + sum);
    }
}

Пробный прогон:

Enter a number (0 to quit): 10
Enter a number (0 to quit): 20
Enter a number (0 to quit): 30
Enter a number (0 to quit): 0
Okay thanks!
Sum of numbers = 60
0 голосов
/ 09 мая 2020

Код дополнительной оптимизации: import java .util.Scanner;

public class Task3 {

    public static void main(String[] args) {
        int sum = 0, number = 0;
        Scanner in = new Scanner(System.in);
        do {
            System.out.println("Enter a number");
            number = in.nextInt();
            sum = sum + number;
        } while (number != 0);
        System.out.println("The current answer is :" + sum);
    }

} 
0 голосов
/ 09 мая 2020

Объявить переменную и сумму во время ввода чисел. следующий код и встроенный комментарий могут помочь.

import java.util.Scanner;

public class Task3 {

    public static void main(String[] args) {
        int sum=0;
        Scanner in = new Scanner(System.in);
        int number;
        while (true) {          
            System.out.println("Enter a number");
             number= in.nextInt();
            if (number == 0) {
                System.out.println("Okay thanks!");
                break;
            } else {
                sum=sum+number;
                System.out.println("The current answer is :" + sum);
            }
        }

    }

}


...