【问题标题】:public static double array method公共静态双数组方法
【发布时间】:2016-07-06 02:31:11
【问题描述】:

在ava中使用自顶向下的组织结构时,我定义了一个静态方法,稍后在main方法中使用。它是一种双数组方法,它使用来自其他数组的参数。但是,每次尝试编译时都会出现错误。我尝试了各种解决方案,包括使用 for 语句,但似乎无法修复它。

public static double[] calcGravity(double[] radius, double[] mass) {
    return ((6.67 * Math.pow(10, -17) * mass) / Math.pow(radius, 2)); 
}

我做错了什么?

【问题讨论】:

  • 它甚至不返回一个数组...如果您打算返回双精度,请省略括号,而 for 循环将如何做任何事情?
  • 您正在尝试乘以一个数组。你不能那样做。此外,pow 将单个值作为参数,而不是数组。

标签: java arrays methods static double


【解决方案1】:

这不返回一个数组,也不应该接受数组参数。试试

public static double calcGravity(double radius, double mass) {
    return ((6.67 * Math.pow(10, -17) * mass) / Math.pow(radius, 2)); 
}

如果您想从radiusmass 数组中计算重力,请尝试

double[] radius = // Whatever (both should have same length)
double[] mass = // Whatever
double[] gravity = new double[radius.length];
for(int i = 0; i < radius.length; i++) {
  gravity[i] = calcGravity(radius[i], mass[i]);
}

【讨论】:

  • 我明白,但我需要它是一个数组,以便我可以按顺序打印该数组中的值。该方法应该能够保存九个值,每个值我都可以访问。此外,半径和质量参数取自 main 方法中描述的数组。
  • 看第二部分代码。您有一个按顺序排列的重力值数组。
  • 哦等等,我现在明白了。谢谢。
【解决方案2】:

您已经定义了返回数组的方法。看起来你最终希望该方法创建一个新数组并用计算出的重力来填充每个索引,为它们各自的数组中的参数索引?如果是这样,您肯定需要一个 for 循环来遍历 argumentime 数组的索引。您还需要使用 for 循环中已有的公式定义一个新数组(在 for 循环之前执行此操作)。阵列完成后,返回阵列名称。希望这有意义并有所帮助!

【讨论】:

  • 谢谢!这真的很有帮助。我想我现在明白了。
猜你喜欢
  • 2011-04-19
  • 1970-01-01
  • 2012-02-11
  • 2011-05-04
  • 2013-07-22
  • 1970-01-01
  • 2015-02-10
  • 1970-01-01
  • 2018-04-28
相关资源
最近更新 更多