【问题标题】:Using Named Parameters in java Class [closed]在java类中使用命名参数[关闭]
【发布时间】:2012-10-21 21:14:32
【问题描述】:

我有一个使用命名参数和可选参数的用例。我尝试在教程中使用命名参数,但它不起作用

我的代码是

public static void Main(String[] args)
  {
     System.out.println((CalculateBMI(weight= 123, height: 64));
  }
  public static int CalculateBMI(int weight, int height)
  {
      return (weight * 703) / (height * height);
  }

出现错误“无法将权重解析为变量” 请帮忙

【问题讨论】:

  • main方法也是用非大写的m拼写
  • 请贴出教程的网址,以便我们更正原作者。 (这甚至不是有效的 C#,因为你得到的是 weight = 而不是 weight:。)

标签: java


【解决方案1】:

代码是:

public static void Main(String[] args) {
    System.out.println(CalculateBMI(123,64));
}

public static int CalculateBMI(int weight, int height) {
    return (weight * 703) / (height * height);
}

【讨论】:

  • 你可以编辑(=bugfix)你的答案,我的cmets就会消失;)
  • @jlordo:编译器 不会关心该方法被称为main 而不是Main。这是一个完全有效的名称。只有当您尝试使用类作为入口点时才会出现问题。
  • @JonSkeet 正确,编译器不会在意,但这显然是 OP 要执行的主要方法。我怀疑他想写一个main 方法来调用他的Main 方法:)
  • @jlordo:当然——但如果你要挑选尼特,至少值得仔细挑选:)
【解决方案2】:

这是你能做的最好的:

int weight = 123; 
int height = 64;    
System.out.println((CalculateBMI(weight, height));

【讨论】:

    【解决方案3】:

    你可能读错了教程,Java 既不支持命名参数也不支持可选参数。

    另见:

    【讨论】:

      【解决方案4】:

      Java 不支持命名参数。 Groovy,编译成 Java 字节码确实有命名参数。您也可以使用 Groovy 编译 Java 源文件(不推荐,因为您不会从 Groovy 的功能中受益)。

      【讨论】:

        猜你喜欢
        • 2014-08-08
        • 1970-01-01
        • 2021-12-09
        • 2017-12-04
        • 1970-01-01
        • 2016-09-27
        • 1970-01-01
        • 2012-12-23
        • 2016-12-26
        相关资源
        最近更新 更多