Java 尝试调用另一个类中的号码并通过jlabel显示该号码
您好,我这里有一个小问题,我试图调用另一个类中生成的随机数,并通过jlabel在第二个类(jform)中显示它,我有点迷路了。生成的数字是双倍的。 代码 我在jfield上得到的数字是在“double number”中初始化的0,但我想得到在GaussianGenerator类中生成的数字。Java 尝试调用另一个类中的号码并通过jlabel显示该号码,java,swing,gaussian,Java,Swing,Gaussian,您好,我这里有一个小问题,我试图调用另一个类中生成的随机数,并通过jlabel在第二个类(jform)中显示它,我有点迷路了。生成的数字是双倍的。 代码 我在jfield上得到的数字是在“double number”中初始化的0,但我想得到在GaussianGenerator类中生成的数字。 感谢您的关注和时间,感谢您的帮助 num是数字生成器的一个实例。您应该通过调用number generator对象实例上的方法并将其分配给number来设置number的值。像这样(我不熟悉你的其他课程):
感谢您的关注和时间,感谢您的帮助 num是数字生成器的一个实例。您应该通过调用number generator对象实例上的方法并将其分配给number来设置number的值。像这样(我不熟悉你的其他课程): 还是高斯发生器也是该方法的名称?从设计的角度来看,这是个坏主意。方法应该只返回生成的值,而不是将其作为参数传递给方法: numer=num.GaussianGenerator() 在Java中,如果您正试图这样做,则不能通过引用传递原语。但是,您可以对对象(例如Double)执行此操作,但这是一种糟糕的设计,因为Double就足够了。您还应该阅读一本关于Java编码约定的好教程,以便学习如何正确命名和大写方法。因此,您会发现这是更好的编码:
number = num.getNextValue();
GaussianGenerator类是否返回值?你不应该给这个方法赋值吗?我实际上是在调用一个方法,但是你确认相同的类名和方法名会产生干扰吗??公共类高斯发生器{公共双高斯发生器(双倍数){是的,错误是您正在传入一个原语并试图设置它的值,这是您无法做到的,并且为什么调用后它的值仍然为零。您必须返回原语。该方法的名称和大写不正确,但这是一个旁白。似乎我们都有相同的想法,尽管类和方法名称是相同的可能会导致问题。All now solver我刚刚重命名了方法名称,现在它可以正常工作:)实际上,Java编译器允许您将方法命名为与构造函数相同的名称。大多数编译器会用警告标记它,但这是允许的。当然,这样做不是一个好主意。您的问题是,您试图将传递的pr分配给是的,而不是返回值并将其分配给原语。好吧,NetBeans甚至懒得用警告来标记它;)无论如何,谢谢你的时间:)谢谢
GaussianGenerator num = new GaussianGenerator();//calling another class
CriminalDetails()
{
initComponents();
double number = 0;
number = num.getNextValue();
CriminalID.setText(Double.toString(number));//CriminalID jfield
}
number = num.getNextValue();