где инициализировать переменные - PullRequest
0 голосов
/ 01 ноября 2019

мы используем вложенный цикл, и это показывает нам, что мы не инициализировали наши переменные.

мы попытались инициализировать переменную как внутри, так и вне цикла, но он говорит, что он не был инициализирован или уже инициализирован.

import java.util.Scanner;
public class LargeSmallAverage
{
    public static void main(String[]args)
    {
        Scanner keyboard = new Scanner (System.in);
        int inputNumber, smallest, largest, sum,count;
        sum=0;
        count=0;

        System.out.println("Enter a number, entering a negative number 
will end the program");
        inputNumber = keyboard.nextInt();
        while (inputNumber >=0)

        {
            if (inputNumber>sum){
                int largest= inputNumber;
                int smallest= sum;
            }
            else if (sum<inputNumber){
                int largest=sum;
                int smallest=inputNumber;
            }   
            sum += inputNumber;
            count++;
        System.out.println("Enter another number");
        inputNumber = keyboard.nextInt();
        }
        double average = sum/count;
        System.out.println("The largest number is "+largest+", the smallest number is "+smallest+", and the average of all positive numbers entered is "+average+".");
    }
}

1 Ответ

0 голосов
/ 05 ноября 2019

Вы уже определили наименьшее и наибольшее в строке 7

int inputNumber, наименьшее, наибольшее, сумму, количество;

, а затем вы все ещеопределение наименьшего и наибольшего в if и else if. Исправленный код

import java.util.Scanner;

public class LargeSmallAverage {
    public static void main(String[] args) {
        Scanner keyboard = new Scanner(System.in);
        int inputNumber = 0, smallest = 0, largest = 0, sum, count;
        sum = 0;
        count = 0;

        System.out.println("Enter a number, entering a negative number will end the program");
        inputNumber = keyboard.nextInt();
        while (inputNumber >= 0)

        {
            if (inputNumber > sum) {
                largest = inputNumber;
                smallest = sum;
            } else if (sum < inputNumber) {
                largest = sum;
                smallest = inputNumber;
            }
            sum += inputNumber;
            count++;
            System.out.println("Enter another number");
            inputNumber = keyboard.nextInt();
        }
        double average = sum / count;
        System.out.println("The largest number is " + largest + ", the smallest number is " + smallest
                + ", and the average of all positive numbers entered is " + average + ".");
    }
}
...