我正在尝试编写一个Java程序,该程序是:
inputNum
。inputNum
给称为的方法computeAvg
。computeAvg
,提示用户输入两倍于的双精度值inputNum
。computeAvg
方法应计算并返回用户输入的实数的平均值。这是我的代码
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
System.out.println("Please enter a integer? ");
int x;
x = keyboard.nextInt();
int inputnum=x;
computeAvg();
}
public static void computeAvg() {
System.out.println(inputnum);
System.out.println("Enter double values as inputnum ");
int y;
y=keyboard.nextInt();
}
}
您的代码中有几处更改:
static Scanner keyboard = new Scanner(System.in);
public static void main(String[] args) {
System.out.println("Please enter a integer? ");
int x;
x = keyboard.nextInt();
int inputnum=x;
System.out.println("The average is"+computeAvg(inputnum));
}
public static double computeAvg(int y)
{
double[] arr = new double[y];
System.out.println(y);
for (int i = 0; i < y; i++) {
System.out.println("Enter double values ");
arr[i] = keyboard.nextDouble();
}
double sum = 0;
for(double a:arr){
sum +=a;
}
System.out.println(sum);
double average = sum/arr.length;
return average;
}
第一个是必须首先将您作为用户输入使用的值传递给该方法。在这里,我完成了此操作,computeAvg(inputnum)
并希望此方法返回一个双精度值。
第二个是您应该声明返回值的方法,void
意味着没有返回值。更改为double
public static double computeAvg(int y)
从main方法获取参数(从用户那里获取的值。)
如果您需要存储多个值,最好的方法是使用数组。(对于初学者来说,有很多方法都可以使用数组)将双精度数组创建为多个双精度值。
double[] arr = new double[y];
接下来,循环代码输入用户输入的次数,并获取double值。
for (int i = 0; i < y; i++) {
System.out.println("Enter double values ");
arr[i] = keyboard.nextDouble();
}
接下来创建一个双精度值,sum
然后将其相加并除以得到平均值(另一个双精度值)。
for(double a:arr){
sum +=a;
}
最后,将平均值返回到打印结果的main方法。
我static Scanner keyboard = new Scanner(System.in);
之所以使用,是因为我在两种方法中都使用了相同的扫描仪。
随时问有关代码的任何问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句