在方法中调用方法,将具有多个参数的方法调用到main。混合字符串和双

Calling methods within methods, Calling methods with multiple parameters to main. Mixing String and double

我正在为一项作业而苦恼。我需要帮助弄清楚如何在彼此内部并最终在 main 中调用正确的方法。此时我的整个代码可能需要工作,我做错了什么?我已经坚持了一个星期了..(底部的指南)谢谢!

import java.util.Scanner;

public class AverageWithMethods {
static Scanner in = new Scanner(System.in);

  public static void main(String[]args)
  {
   userPrompt(); //Can't figure out how I'm supposed to set this up.
  }

  public static String userPrompt()
  {
   System.out.println("Enter 5 to 10 numbers separated by spaces, then press enter: ");
   String num = in.nextLine();

   return num; //I think I'm supposed to call the averager method here somehow?
  }

  public static double averager(String userPrompt)
  {
  double nums = Double.parseDouble(userPrompt);
  double average = 0;
  int counter = 0;
  char c = ' ';
       for (int i = 0; i < userPrompt.length(); i++)                           
       {
                if(userPrompt.charAt(i) == c)                                       
            {
                counter++;                                                      
            }
            average = nums / counter;
        }

    return average;
  }

      public static void result(double average, String userPrompt)
  {
      System.out.println("The average of the numbers" + userPrompt + "is" + average);
  }

}

指南:
该程序提示用户输入五到十个数字,全部在一行中,并以空格分隔。然后用户计算这些数字的平均值,并向用户显示这些数字及其平均值。
该程序使用方法来:
获取用户输入的数字 计算用户输入的数字的平均值 打印整数、一位小数和两位小数的结果 第一种方法应该不带参数和 return 分隔的数字字符串按空格。
第二种方法应该将字符串作为其唯一参数,return 一个双精度数(平均值)。
第三种方法应采用 String 和 double 作为参数,但没有 return 值。
例如,如果用户输入是... 20 40 60 80 100 ...程序应该给出输出...数字 20 40 60 80 100 的平均值是 60.00。

我不会完全提供您问题的完整解决方案,但会指导您解决问题:

  • 用户输入:1 2 3 4 5 因此,现在您需要在您已经在 userPrompt() 方法中执行的字符串中读取它。
  • Post 您需要调用 averager() 方法来获取平均值 的数字。在该平均器方法中,您可能需要拆分 字符串来获取数字。检查:String.split() 方法 有关如何实现该目标的文档。然后,你需要打电话 Double.parseDouble() 用于您的数字字符串数组。
  • 最后,您需要调用 main() 中的结果方法 方法。

我希望它能帮助您解决问题并提供足够的提示以获得正确的解决方案