Как заставить мои другие методы правильно читать из массива - PullRequest
0 голосов
/ 04 декабря 2018

, когда я пытаюсь запустить эту программу, она примет входные данные, но распечатает только 0,0 0,0 0,0 для всех отпечатков.Мне нужно, чтобы напечатать вмененные числа, а затем распечатать среднее с точностью до 2 десятичных знаков.Почему он печатает только 0, а не числа, введенные в

import java.util.Scanner;
import java.util.Arrays;

public class pcCalculate 


{
     double[] pcPrice = new double [10];
    public static void main(String[] args)
    {
        Quiz input = new Quiz();
        Quiz display = new Quiz();
        Quiz avgCalc = new Quiz();
        input.arrayInput();
        display.displayPCPrices();
        avgCalc.avgPCCalc();
}

public void displayPCPrices()
{
    System.out.println(Arrays.toString(pcPrice));
}

   public double avgPCCalc() 
   {
    int sum = 0;
        for (int i=0; i < pcPrice.length; i++)
        {
                 sum = (int) (sum + pcPrice[i]);
        }
double average = sum / (double)pcPrice.length;
return average;
   }
          public void arrayInput()
     {

    Scanner price = new Scanner(System.in);
     System.out.println("Enter Prices");
        pcPrice[0] = price.nextDouble();
        pcPrice[1] = price.nextDouble();
        pcPrice[2] = price.nextDouble();
        pcPrice[3] = price.nextDouble();
        pcPrice[4] = price.nextDouble();
        pcPrice[5] = price.nextDouble();
        pcPrice[6] = price.nextDouble();
        pcPrice[7] = price.nextDouble();
        pcPrice[8] = price.nextDouble();
        pcPrice[9] = price.nextDouble();
  }

}

Ответы [ 2 ]

0 голосов
/ 04 декабря 2018

Массивы лучше в циклах, в этом случае я бы что-то вроде этого:

import java.util.Scanner;
import java.util.Arrays;

public class pcCalculate {

    double[] pcPrice = new double [10];
    public static void main(String[] args){

    Scanner price = new Scanner(System.in);
    for(int i=0; i< pcPrice.length; i++){
    System.out.print("Set Price " + (i + 1) + ":");
    pcPrice[i] = price.nextDouble();
    }
displayPCPrices();
System.out.println("The average is :" + avgPCCalc());
}

public void displayPCPrices()
{
    System.out.println("The prices are: " + "\n");
    for(int i = 0; i< pcPrice.length; i++){
    System.out.print(pcPrice[i] + " ");
    }

}

   public double avgPCCalc() 
   {
    double sum = 0;
        for (int i=0; i < pcPrice.length; i++)
            {
                 sum += pcPrice[i];
           }
    double average = sum / 10;
    return average;
   }


}
0 голосов
/ 04 декабря 2018

Вызовите метод displayPCPrices из основного и передайте в качестве параметра pcPrice:

import java.util.Scanner;
import java.util.Arrays;

public class pcCalculate
{
    public static void main(String[] args)
    {
        double[] pcPrice = new double [10];

        Scanner price = new Scanner(System.in);
        System.out.println("Enter Prices");
        pcPrice[0] = price.nextDouble();
        pcPrice[1] = price.nextDouble();
        pcPrice[2] = price.nextDouble();
        pcPrice[3] = price.nextDouble();
        pcPrice[4] = price.nextDouble();
        pcPrice[5] = price.nextDouble();
        pcPrice[6] = price.nextDouble();
        pcPrice[7] = price.nextDouble();
        pcPrice[8] = price.nextDouble();
        pcPrice[9] = price.nextDouble();

        displayPCPrices(pcPrice);

    }

    public void displayPCPrices(Array pcPrice)
    {
        System.out.println(Arrays.toString(pcPrice));
    }

   public double avgPCCalc() 
   {
       int sum = 0;
       for (int i=0; i < pcPrice.length; i++)
       {
           sum = (int) (sum + pcPrice[i]);
       }
       double average = sum / (double)pcPrice.length;
       return average;
   }
}

РЕДАКТИРОВАТЬ: И, как вы знаете, main (String [] args) - это место, где ваша программа всегда будетНачните с того, что вы вызываете другие методы и выполняете свою работу.Ничто другое не будет вызывать ваш основной метод.

РЕДАКТИРОВАТЬ2: Если вы хотите поговорить о ваших методах кодирования, напишите мне сообщение, я вижу, что вы изменили свой вопрос, и вы пропустили некоторые основныеконцепции, которые помогут вам легко решить эту проблему.

...