首页 > 解决方案 > 计算平均值:将 Double 转换为 String 错误

问题描述

我只是无法按照自己的意愿正确地编写代码。(Java 初学者)

所以它应该工作的方式是这样的:运行程序时,我想要一个窗口并填写一个数字(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;
    }
}

标签: javaaverage

解决方案


JOptionPane.showMessageDialog()

具有 void 返回类型。你要么想要

JOptionPane.showInputDialog()

或删除

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

接近尾声

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


推荐阅读