访问与其他类相同的随机String

时间:2018-04-17 11:36:51

标签: java random

关于Java基础知识的愚蠢问题,但我已经好几天都不能打败它了。

我有一个初始化数据的类。 Randomizer就在​​这里。

public class AddContract {
    private Data data = new Data();

    class Data {
        final String CONNUM = String.valueOf(randInt());

        public int randInt() {
            int min = 1;
            int max = 7777;
            return (int) (Math.random() * max + min);
        }
    }

我还有另一堂课:

public class ContractsPage {

    public ContractsPage FindContractByContractNumber() {
       AddContract.Data buffer = new AddContract.Data();
       this.contractNumberFilter.clear();
       this.contractNumberFilter.sendKeys(buffer.CONNUM);
           return this;
    }
}

请不要判断它现在看起来如何因为我正在尝试许多变种如何使它工作。 所以,我希望在类ContractsPage中获得与类AddContract中相同的randInt实例。但是通过new的对象会生成“新的”rng。

TL; DR: 随机我在Class1中得到var = 5,我想在Class2中使用相同的var = 5.

2 个答案:

答案 0 :(得分:0)

在类的构造函数中执行随机oprtaions并将其保存在实例变量中。

public class AddContract {
    private Data data = new Data();
    private String bufferCONNUMStr = String.valueOf(data.randInt());

    public String bufferCONNUM() {
        return bufferCONNUMStr;
    }

}

答案 1 :(得分:0)

public class AddContract {
    private Data data = new Data();

    public String bufferCONNUM() {
        return data.CONNUM;
    }
    public String bufferPURCHNUM() {
        return data.PURCHASENUM;
    }

    class Data {
        final String CONNUM = String.valueOf(randInt());
        final String PURCHASENUM = String.valueOf(randInt());

        public final int randInt() {
            int min = 1;
            int max = 7777;
            return (int) (Math.random() * max + min);
        }
    }
}