非指定方法中的Exchange变量

时间:2017-01-17 18:24:55

标签: java methods parameters int exchange-server

我是新人:) 但是,我的程序有一个表格,RandomGen应该通过getRowCount得到最高的随机int - > checkvar1

现在,主类获取checkvar1并将其发送到setVariable(),然后我想将此checkvar1randomGen交换以限制生成的最大整数。

所以这当然不起作用,因为randomGen()中的参数没有设置而且我无法设置它们,因为那时我主类中的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;
    }
}

这是我的主要课程:

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);            
        }

1 个答案:

答案 0 :(得分:0)

您在类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);