java - 计算平均值:将 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;
}
}
解决方案
JOptionPane.showMessageDialog()
具有 void 返回类型。你要么想要
JOptionPane.showInputDialog()
或删除
Double output = Double.valueOf(JOptionPane.showMessageDialog...)
接近尾声
https://docs.oracle.com/javase/7/docs/api/javax/swing/JOptionPane.html
推荐阅读
- r - 参考 POSIXct 格式时间区分高峰和非高峰流量时段
- mysql - 如何解决“ERROR 1215 (HY000): 无法添加外键约束”
- qtranslate - 如何向 QTranslate (ver 6.7.5.1) 应用程序添加翻译服务?
- python - TF/Keras 中输入和输出长度不等的 RNN 层
- java - 如何使用 Spring Boot 登录/注销?
- javascript - 我希望按钮在视频结束前 30 秒显示,无论长度如何
- android - 当应用程序未运行时处理 android 推送通知,如 whatsapp、twitter、facebook、instagram 等
- ios - 我怎样才能更好地转换我的代码
- c++ - C++ getter 和 setter 不传递变量
- mpdf - mPDF,删除编码软件