Я новый программист и попытался создать программу, которая добавит все введенные пользователем номера. Вот код:Петля повторяется дважды, когда я запускаю программу
import java.util.Scanner;
import java.io.*;
public class Adding
{
private int numOfInt, newInt;
/**
* Constructor for objects of class Adding
*/
public Adding()
{
// initialise instance variables
Scanner console = new Scanner(System.in);
System.out.print("How many integers will be added?");
numOfInt = console.nextInt();
newInt = 0;
}
public int addIntegers()
{
int count = 0;
int sum = 0;
while(count <= numOfInt)
{
System.out.println("The count is: " + count + " and the current sum is: " + sum);
count = count + 1;
Scanner console = new Scanner(System.in);
System.out.println("Enter an integer: ");
newInt = console.nextInt();
sum = sum + newInt;
}
return sum;
}
public void displaySum()
{
System.out.println("the sum is " + this.addIntegers());
}
}
Это второй класс для основных:
import java.util.Scanner;
import java.io.*;
public class AddingMain
{
public static void main(String[] args)
{
Adding add = new Adding();
add.addIntegers();
add.displaySum();
}
}
Однако, цикл повторяется дважды (как можно видеть в приведенном ниже вводе, отредактирована для экономии места) и фактически игнорирует введенный первый набор введенных чисел:
Сколько целых чисел будет добавлено?
Количество: от 0 и ток сумма: 0
Введите целое число:
счетчик равен: 1, а текущая сумма является: 1
Введите целое число:
Счет: 2 и текущая сумма: 3
Введите целое число:
Отсчет: 3 и текущая сумма: 6
Введите целое число:
Отсчет: 0 и текущую сумму это: 0
Введите целое число:
Количество составляет: 1 и ток сумма: 2
Введите целое число:
Отсчет: 2 и текущая сумма: 5
Введите целое число:
Количество составляет: 3 и текущая сумма: 9
Введите целое число:
сумма 14
Может кто-нибудь объяснить, почему это происходит и как это исправить? Спасибо!
Сколько раз цикл должен повторяться? –
Я предлагаю вам узнать, как использовать отладчик, чтобы выполнить свой код, чтобы выяснить, что происходит. –
Каждый вызов 'addIntegers' будет выполнять цикл один раз. Подсчитайте количество вызовов addIntegers в коде. – molbdnilo