【问题标题】:Calling methods within methods, Calling methods with multiple parameters to main. Mixing String and double方法内调用方法,多参数方法调用main。混合字符串和双精度
【发布时间】:2018-04-28 04:54:52
【问题描述】:

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

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);
  }

}

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

【问题讨论】:

  • 我强烈推荐你阅读 Eric Lippert 的文章How to debug small programs。否则这个问题就太宽泛了:你基本上是在请人指导你编写代码,而 Stack Overflow 真的不是为这类事情设置的。
  • 提出更清晰的建议。
  • 返回后存储数字的位置,除非需要使用创建对象并使用点运算符调用方法,否则不要将函数设为静态。你在哪里计算平均值?

标签: java methods netbeans parameters main


【解决方案1】:

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

  • 用户输入:1 2 3 4 5 因此,现在您需要在您已经在 userPrompt() 方法中执行的字符串中读取它。
  • 发布您需要调用 averager() 方法来获取平均值的帖子 的数字。在那种平均方法中,您可能需要将 获取数字的字符串。检查:String.split() 方法 有关如何实现这一目标的文档。然后,您需要调用 Double.parseDouble() 用于您的 String 数字数组。
  • 最后,您需要在 main() 中调用 result 方法 方法。

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

【讨论】:

  • 感谢您的指导,这很有帮助。
猜你喜欢
  • 2019-08-01
  • 2023-03-28
  • 2012-09-28
  • 2021-12-21
  • 2017-10-29
  • 2020-02-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多