以非指定方法交换变量
Exchange variable in non specified method
我是新人:)
但是,我的程序有一个 table 和一个 RandomGen
应该通过 getRowCount
-> checkvar1
.
获得最高的随机整数
现在主class得到checkvar1
发给setVariable()
,那我想把这个checkvar1
换成randomGen
来限制生成的最大整数。
所以这当然是行不通的,因为randomGen()
中的参数没有设置,我不能设置它们,因为然后交换到我的主要[=29]中的onActionPerformed()
方法=] 不再工作了。
public final class RandomGen
{
// EXCHANGE OF CHECKVAR1 FOR RANDOM GEN
public static void setVariable(int checkvar1)
{
System.out.print(checkvar1);
}
// RANDOM GENERATOR
public static int randomGen()
{
Random rand = new Random();
int var1 = rand.nextInt(checkvar1) + 1;
return var1;
}
}
这里是我的主要 class:
public void onActionPerformed(java.awt.event.ActionEvent evt) {
//NUMBER OF LAST ROW
int checkvar1 = (Integer)jTable1.getRowCount();
//->EXCHANGE WITH setVariable()
RandomGen.setVariable(checkvar1);
if (checkvar1 >= 3) {
int recogvar1 = checkvar1 - 1;
Object checkobj1 = jTable1.getModel().getValueAt(recogvar1, 0);
if (checkobj1 == null){
//...
}
else {
int var1 = RandomGen.variable();
String result = var1 + "";
jTextField1.setText(result);
//System.out.print(result);
}
}
else {
String rule2 = "At least " + 3 + " rows should be filled";
jTextField1.setText(rule2);
}
您没有对 class RandomGen 中的 setVariable 进行任何操作。所以你只需要改变这个。
// RANDOM GENERATOR
public static int randomGen(int checkvar1)
{
Random rand = new Random();
int var1 = rand.nextInt(checkvar1) + 1;
return var1;
}
然后在您的主要方法中试试这个。
//NUMBER OF LAST ROW
int checkvar1 = (Integer)jTable1.getRowCount();
//->EXCHANGE WITH randomGenerator
checkvar1 = RandomGen.randomGen(checkvar1);
我是新人:)
但是,我的程序有一个 table 和一个 RandomGen
应该通过 getRowCount
-> checkvar1
.
现在主class得到checkvar1
发给setVariable()
,那我想把这个checkvar1
换成randomGen
来限制生成的最大整数。
所以这当然是行不通的,因为randomGen()
中的参数没有设置,我不能设置它们,因为然后交换到我的主要[=29]中的onActionPerformed()
方法=] 不再工作了。
public final class RandomGen
{
// EXCHANGE OF CHECKVAR1 FOR RANDOM GEN
public static void setVariable(int checkvar1)
{
System.out.print(checkvar1);
}
// RANDOM GENERATOR
public static int randomGen()
{
Random rand = new Random();
int var1 = rand.nextInt(checkvar1) + 1;
return var1;
}
}
这里是我的主要 class:
public void onActionPerformed(java.awt.event.ActionEvent evt) {
//NUMBER OF LAST ROW
int checkvar1 = (Integer)jTable1.getRowCount();
//->EXCHANGE WITH setVariable()
RandomGen.setVariable(checkvar1);
if (checkvar1 >= 3) {
int recogvar1 = checkvar1 - 1;
Object checkobj1 = jTable1.getModel().getValueAt(recogvar1, 0);
if (checkobj1 == null){
//...
}
else {
int var1 = RandomGen.variable();
String result = var1 + "";
jTextField1.setText(result);
//System.out.print(result);
}
}
else {
String rule2 = "At least " + 3 + " rows should be filled";
jTextField1.setText(rule2);
}
您没有对 class RandomGen 中的 setVariable 进行任何操作。所以你只需要改变这个。
// RANDOM GENERATOR
public static int randomGen(int checkvar1)
{
Random rand = new Random();
int var1 = rand.nextInt(checkvar1) + 1;
return var1;
}
然后在您的主要方法中试试这个。
//NUMBER OF LAST ROW
int checkvar1 = (Integer)jTable1.getRowCount();
//->EXCHANGE WITH randomGenerator
checkvar1 = RandomGen.randomGen(checkvar1);