生成新字符串

时间:2017-03-06 19:51:01

标签: java eclipse jframe

所以我有代码,当你按下鼠标它会在文本框中生成一些随机代码,然后当命中输入时,假设清除所述文本框并替换是一个新的随机字符串,但它只是选择同一随机字符串。例如。我点击鼠标并生成“hps”,然后单击enter并再次生成“hps”。有没有办法从我的生成器中获取新的字符串?

        public void mouseClicked(MouseEvent arg0) {
            RandSt string = new RandSt(); 
            textField_tf.setText(string.randStr());
            }

2 个答案:

答案 0 :(得分:0)

生成chosen后,

String未重置。一个非常简单的解决方案就是在方法的开头添加这一行:

chosen = "";

但我建议使用完全不同的方法,例如解释here的方法:

import java.security.SecureRandom;
import java.math.BigInteger;

public final class SessionIdentifierGenerator {
    private SecureRandom random = new SecureRandom();

    public String nextSessionId() {
        return new BigInteger(130, random).toString(32);
    }
}

答案 1 :(得分:0)

每次都会得到相同的String,因为chosen变量在生成随机String后未重置。

要使randStr方法每次都返回不同的String,您需要在每次调用chosen方法时重置randStr变量。

因此,在chosen方法中声明randStr变量,以便每次调用randStr方法时都会重置该变量。