Вычисление среднего: преобразование двойной в строковую ошибку - PullRequest
0 голосов
/ 07 марта 2019

Я просто не могу понять свой код так, как хочу.(Java Beginner)

Таким образом, он должен работать следующим образом: при запуске программы я хочу получить окно и указать число (X) размера (Z) массива.Затем я получаю X окон, где мне нужно ввести числа, которые я хочу поместить в массив.Наконец, программа должна вычислить сумму всех чисел и поделить на размер (Z) массива, чтобы получить среднее значение всех чисел в массиве.

Я почти закончил, но все, что я получаю, это ошибкиотносительно преобразования Double в String.Я перепробовал все, что знал, но не смог заставить его работать.Пожалуйста, извините, что могут быть орфографические ошибки, мне пришлось перевести его на английский.

Ошибка: ниже // Инициализация и Вывод строка,либо здесь не разрешен тип 'void', либо несовместимые типы: void нельзя преобразовать в строку

import javax.swing.*;
import java.util.*;

public class Aufgabe42
{
    public static void main(String[] args)
    {
        //Declare variable
        String input, output, requestNumber;
        double[] arrayNumber;
        int size;

        //Input
        input = JOptionPane.showInputDialog(null, "Type in the size of the array.");

        //Variable Initialization
        size = Integer.parseInt(input);
        arrayNumbers = new double[size];

        //Request numbers
        for(int i = 0; i < size; i++)
        {
            requestNumber = JOptionPane.showInputDialog(null, "Tell me a number:");
            arrayNumber[i] = Double.parseDouble(requestNumber);
        }

        String returnAverage;

        //Initialization and Output
        output = Double.toString(JOptionPane.showMessageDialog(null, "The Average is: " + getAverage(arrayNumber)));
        System.exit(0);
    }

    public static double getAverage(double[] arrayNumber)
    {
        //Declare variable

        double arraySum,average;

        //Initialization
        arraySum = 0;



        returnAverage = Double.toString(average);

        //Sum array values
        for(int i = 0; i < arrayZNumber.length; i++)
        {
            arraySum += arrayNumber[i];
        }

        //Calculate Average
        average = arraySum / arrayNumber.length;

        return  average;
    }
}

1 Ответ

1 голос
/ 07 марта 2019
JOptionPane.showMessageDialog()

Имеет тип возврата void.Вы либо хотите

JOptionPane.showInputDialog()

, либо удалите

Double output = Double.valueOf(JOptionPane.showMessageDialog...)

ближе к концу

https://docs.oracle.com/javase/7/docs/api/javax/swing/JOptionPane.html

...