首页 > 解决方案 > 从字符转换为字符串的问题

问题描述

我尝试创建一个小程序,将字符随机放在一起(在本例中为 2 以保持简单),直到它获得请求的组合(此处:“ab”)。但不幸的是,我似乎无法将字符“rand”添加到字符串“string”上,因为 while 循环中的比较似乎不起作用,即使它具有正确的组合。是不是,Java 在创建字符串时添加了不可见字符?如何正确添加字符?

public static void main(String[] args) {
    // TODO Auto-generated method stub
    String string = "";
    String comp = "ab";
    int counter = 0;
    char rand;

    while (string != comp) {
        string = "";
        for (int i = 1; i <= comp.length(); i++) {
            rand = (char) Math.floor(Math.random() *26 + 97);
            //JOptionPane.showMessageDialog(null, rand);
            string += rand;
            //JOptionPane.showMessageDialog(null, string);
        }
        //JOptionPane.showMessageDialog(null, string + ", " + counter);
        counter++;
        System.out.println(string + ", " + counter);
    }

    JOptionPane.showMessageDialog(null, string);
    JOptionPane.showMessageDialog(null, "Achieved after " + counter + " tries");
}

标签: java

解决方案


使用 Stringequals方法比较 Java 中的字符串

while (!string.equals(comp)) {
    ...
}

推荐阅读