Расчет сумм и средних для введенных чисел и сортировка чисел в Eclipse - PullRequest
0 голосов
/ 20 сентября 2018

Проблема: Напишите программу, которая читает пять целых чисел от пользователя.Программа вычислит и выведет

следующую статистику о пяти числах:

The sum of all of the positive numbers (greater than zero).

The sum of all of the non-positive numbers (less than or equal to zero).

The sum of all five numbers.

The average of all of the positive numbers (greater than zero).

The average of all of the non-positive numbers (less than or equal to zero).

The average of all five numbers.

Вот что у меня есть для моего кода:

package assignment_09_20_2018;

import java.util.Scanner ; 

public class LAB_Assignment_09_20_2018 {

    public LAB_Assignment_09_20_2018() {
        // TODO Auto-generated constructor stub


    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int length; 

        Scanner input = new Scanner(System.in) ;
        //opens scanner

        System.out.println("Enter 5 numbers: ") ;

        length = input.nextInt() ; 

        Int[] numbers = new Int[length]


    }
} 

кто-то в моем классе сказал использовать массивы и для циклов, но я не знаю, как это сделать, пожалуйста, помогите

Ответы [ 3 ]

0 голосов
/ 20 сентября 2018

Отказ от ответственности, я парень на C #, поэтому мой синтаксис может быть не совсем правильным.


Создать цикл для приема чисел в массив.

Int [] numbers = new Int [5]{};

for (Int i = 0; i < numbers.Length; i++)
{
    System.out.println("Enter a number.");
    numbers[i] = Scanner(System.in);
}

Затем используйте массив в массиве с комбинацией операторов if для определения значений <или>.

for (Int i = 0; i < numbers.Length; i++)
{
   if ( numbers[i] < 0)
      {
         // do this math
      }
else if (numebers[I] > 0)
   {
     // do this math.
   }
}

и так далее.

0 голосов
/ 20 сентября 2018

Это, очевидно, домашнее задание, поэтому я просто помогу с кодом Java для чтения чисел, а затем предоставлю некоторый псевдокод для необходимых вычислений.

  public static void main(String[] args)
  {
    int length = 5;
    Scanner input = new Scanner(System.in); 
    System.out.println("Enter 5 numbers: ") ;
    int[] numbers = new int[length];
    for(int i=0; i<length; i++)
    {
      numbers[i] = input.nextInt();
    }
    // calculations go here
  }

Вычисления будут выглядеть примерно так:

posSum = posCount = negSum = negCount = 0
for n in numbers
  if n > 0
    posSum = posSum + n
    posCount = posCount + 1
  else
    negSum = negSum + n
    negCount = negCount + 1

Теперь у вас есть необходимые положительные и отрицательные суммы.Общая сумма, очевидно, это добавлено.С учетом posSum и posCount вы можете рассчитать среднее положительное число (проверьте случай, когда posCount равно 0).То же самое для среднего негатива.

Наконец, вопрос - вам нужно отслеживать posCount и negCount, или вы можете вычислить одно из другого после завершения цикла?

0 голосов
/ 20 сентября 2018

Вы можете использовать массив и цикл, как показано в коде ниже.Я использую массив int [] для хранения 5 чисел, которые будут введены пользователем, и заполняю их с помощью цикла for.

public static void main(String[] args) throws IOException, JSONException, ParseException {

        Scanner input = new Scanner(System.in) ;
        System.out.println("Enter 5 numbers: ") ;
        int[] array = new int[5];
        for(int i=0;i<array.length;i++) {
            array[i] = input.nextInt();
        }
        for(int i=0;i<array.length;i++) {
            System.out.println(array[i]);
        }
}

Теперь вы можете использовать цикл for и охватить все приведенные случаив вопросе.

Например, : The sum and average of all five numbers можно рассчитать, как показано ниже:

//sum of all 5 numbers

int sum=0;
for(int i=0;i<array.length;i++) {
    sum += array[i];
}
System.out.println(sum); // Prints the sum of 5 numbers
int average = sum/array.length;
System.out.println(average); // Prints the average of 5 numbers

РЕДАКТИРОВАТЬ: Код для sum of positive numbers and negative numbers only

int posSum=0;
int negSum=0;
for(int i=0;i<array.length;i++) {
    if(array[i]>0){
        posSum += array[i];
    }else if(array[i]<0){
        negSum += array[i];
    }
}
System.out.println("Positive number only sum is "+posSum);
System.out.println("Negative number only sum is "+negSum);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...