0

您好,我在这里遇到了一个小问题,我正在尝试调用在另一个类中生成的随机数并通过第二类(jform)中的 jlabel 显示它,我有点迷路了。数字生成是双倍的。代码

GaussianGenerator num = new GaussianGenerator();//calling another class
CriminalDetails() 
{
    initComponents();
    double number = 0;
    num.GaussianGenerator(number);
    CriminalID.setText(Double.toString(number));//CriminalID jfield
}

我在 jfield 上得到的数字是在“双数”中初始化的 0,但我想获得在 GaussianGenerator 类中生成的数字。感谢您的观看和您的时间,感谢您的帮助。

4

1 回答 1

1

num 是数字生成器的一个实例。您应该通过在数字生成器对象的实例上调用方法并将其分配给数字来设置数字的值。像这样(我不熟悉你的其他班级):

GaussianGenerator num = new GaussianGenerator();//calling another class
CriminalDetails() 
{
    initComponents();
    double number = 0;
    number = num.getNextValue();
    CriminalID.setText(Double.toString(number));//CriminalID jfield
}

还是 GaussianGenerator 也是方法的名称?从设计的角度来看是个坏主意。该方法不应将其作为参数传递给方法,而应仅返回生成的值:

数字 = 数字.GaussianGenerator();

在 Java 中,如果这是您想要做的,您不能通过引用传递原语。但是,您可以使用对象(例如 Double)来执行此操作,但这是糟糕的设计,因为 double 就足够了。您还应该阅读有关 Java 编码约定的优秀教程,以便学习如何正确命名和大写方法。所以你会看到这是更好的编码:

number = num.getNextValue();
于 2013-01-12T00:15:16.543 回答