解释并使用java类中的代码

时间:2013-08-27 01:45:35

标签: java function class

我想从另一个类调用函数(底部的代码),但我不确定如何从中提取下面的阶段。

phases[0]
phases[1]
phases[2]
phases[3]
phases[4]

这不是我的代码,我是从别人那里得到的,我希望有人能告诉我如何从中获取相位并将其打印到屏幕上。

到目前为止,我使用以下

调用该函数
Phase phase = new Phase();
     phase.phasehunt5(??);

代码:

/// Find time of phases of the moon which surround the current
// date.  Five phases are found, starting and ending with the
// new moons which bound the current lunation.

public static void phasehunt5( double sdate, double[] phases )
    {
    double adate, nt1, nt2;
    RefDouble k1 = new RefDouble();
    RefDouble k2 = new RefDouble();

    adate = sdate - 45;
    nt1 = meanphase(adate, 0.0, k1);
    for (;;)
        {
        adate += synmonth;
        nt2 = meanphase(adate, 0.0, k2);
        if (nt1 <= sdate && nt2 > sdate)
            break;
        nt1 = nt2;
        k1.val = k2.val;
        }
    phases[0] = truephase(k1.val, 0.0);
    phases[1] = truephase(k1.val, 0.25);
    phases[2] = truephase(k1.val, 0.5);
    phases[3] = truephase(k1.val, 0.75);
    phases[4] = truephase(k2.val, 0.0);
    }

全班可以在下面的链接中找到

http://acme.com/resources/classes/Acme/Phase.java

2 个答案:

答案 0 :(得分:1)

请注意,当您致电phasehunt5(...) 时,您会传递double数组phases

自提供数组以来,您已经可以访问所有值。调用phasehunt5后,结果将显示在您提供的数组中。

答案 1 :(得分:0)

从您提供的代码看起来就像您应该使用日期和double[]调用代码一样,该函数会自动将元素插入到数组中。

例如:

double[] phases = new double[5];
Phase.phasehunt5(someDate,phases);

然后phases将成为你的五个阶段的双重数组。