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