java - 从字符转换为字符串的问题
问题描述
我尝试创建一个小程序,将字符随机放在一起(在本例中为 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");
}
解决方案
使用 Stringequals
方法比较 Java 中的字符串
while (!string.equals(comp)) {
...
}
推荐阅读
- angular - 如何使用 Angular 在 ngOnInit() 中设置 FormGroup 和 FormControl?
- java - 如何从 unicode 字符范围打印 utf-8 字符?
- erd - 如何在实体关系图 (ERD) 中合并实体
- javascript - Node.JS / Passport / Sequelize - 使用错误密码登录
- android - 其他 Edittext 更改时更新 Edittext
- web-scraping - 在使用 servlet 的页面上使用 requests.get()
- sql - 即使 Microsoft Access 中还有一条记录,我的记录集也只返回一条记录
- java - rxjava PublishSubject 第二次不订阅
- google-apps-script - 使用 If 包含类型函数根据当前行和列中的子字符串将电子邮件发送到特定地址
- windows - 如何通过 Body 过滤掉提琴手中的 POST 请求?