Я был в этой программе в течение нескольких часов, и я до сих пор не понимаю логику c. Программа просит пользователя ввести целые числа.
Как только пользователь введет целые числа, он выведет пользователю все положительные числа, отрицательные числа и общее количество введенных чисел, а также среднее значение для чисел.
Вот где я застрял:
Затем он спросит пользователя, хотят ли они продолжить. Пользователь введет 'y'
или 'n'
, чтобы указать, хотят ли они продолжить или не хотят продолжать. Если пользователь введет «у», то l oop снова будет go, а если он введет «n», появится сообщение «до свидания». Я не знаю, как это настроить.
Я попытался сделать do l oop, и сейчас я использую некоторое время l oop для программы. Я также пропускаю утверждение, которое позволяет пользователю знать, что они вводили ноль только в том случае, если не было введено никаких других чисел. Я тоже не знаю, как это настроить, но я попробовал оператор if, и он не работает .. Мой код приведен ниже. Я использую Java 8.
publi c class CountPositiveNegativeAndAverageOfIntsProgram {
public static void main(String [] args)
{
System.out.print("Enter an integer, the input ends if it is 0: ");
//Creating a scanner object
Scanner input = new Scanner(System.in);
int userInput = input.nextInt();
//creating variables that will be used in the program.
int countPositive = 0;
int countNegative = 0;
int total = 0;
double average = 0;
while(userInput != 0)
{
if(userInput > 0)
{
//using a counter to add how many positive numbers are entered.
countPositive++;
}
else
{
countNegative++;
}
total += userInput;
//I added 0.0 to avoid integer division. This felt like a small hack.
average = total / (countPositive + countNegative + 0.0);
userInput = input.nextInt();
}
System.out.println("The number of positives is: " + countPositive);
System.out.println("The number of negatives is: " + countNegative);
System.out.println("The total is: " + total);
System.out.println("The average is : " + average);
System.out.print("Continue? (y/n) ");
String s = input.next();
}
}