Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 计算平均值:将双精度转换为字符串错误_Java_Average - Fatal编程技术网

Java 计算平均值:将双精度转换为字符串错误

Java 计算平均值:将双精度转换为字符串错误,java,average,Java,Average,我只是无法按照我的意愿正确地编写代码。(Java初学者) 因此,它的工作方式应该是: 当运行程序时,我想得到一个窗口,并填写一个数字(X)数组应该有多大(Z)。接下来,我得到X个窗口,在那里我必须输入我想放入数组中的数字。最后,程序应该计算所有数字的总和,然后除以数组的大小(Z),以获得数组中所有数字的平均值 我几乎完成了,但是我得到的只是关于双精度到字符串转换的错误。我尝试了我所知道的一切,但都没有成功。请原谅可能有拼写错误,我不得不把它翻译成英语 错误: 在//初始化和输出行下方,可能是此处

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

因此,它的工作方式应该是: 当运行程序时,我想得到一个窗口,并填写一个数字(X)数组应该有多大(Z)。接下来,我得到X个窗口,在那里我必须输入我想放入数组中的数字。最后,程序应该计算所有数字的总和,然后除以数组的大小(Z),以获得数组中所有数字的平均值

我几乎完成了,但是我得到的只是关于双精度到字符串转换的错误。我尝试了我所知道的一切,但都没有成功。请原谅可能有拼写错误,我不得不把它翻译成英语

错误: 在//初始化和输出行下方,可能是此处不允许的“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;
    }
}
import javax.swing.*;
导入java.util.*;
公共类Aufgabe42
{
公共静态void main(字符串[]args)
{
//声明变量
字符串输入、输出、请求编号;
双[]数组编号;
整数大小;
//输入
input=JOptionPane.showInputDialog(null,“键入数组的大小”);
//变量初始化
size=Integer.parseInt(输入);
ArrayNumber=新的双精度[尺寸];
//请求号码
对于(int i=0;i
具有无效返回类型。你要么想要

JOptionPane.showInputDialog()
或删除

Double output = Double.valueOf(JOptionPane.showMessageDialog...)
接近尾声


请回答您的问题,包括您遇到的错误,并指出是哪一行代码导致了错误。我现在有5个版本的代码。但它总是告诉我错误在//初始化和输出行中,要么是此处不允许的“void”类型,要么是不兼容的类型:void无法转换为string返回类型
JOptionPane。showMessageDialog
void
:它不返回任何内容。不能将其用作
Double.toString()
的参数。你为什么认为你需要这样做?这是我读过的论坛帖子上有人推荐的,所以我尝试了一下。我还尝试将其转换为“variable=Double.toString(variableOne);”那么我如何转换它呢?在退出程序之前,给
output
分配一些内容是没有意义的。如果您最不想做的事情是弹出一个对话框来显示结果,那么只需编写
JOptionPane.showMessageDialog(null,“平均值为:,…);“
JOptionPane.showMessageDialog”不返回任何内容;没有任何内容可“转换”。
Double output = Double.valueOf(JOptionPane.showMessageDialog...)