java - while 循环循环所有内容但不保存

标签 java swing dialog joptionpane

我正忙于我的更大应用程序 Hangman 的测试阶段。但在继续讨论该代码之前,我必须首先弄清楚该代码。

现在,我创建了 2 个字符串:1 个是单词,1 个用于隐藏该单词,其字母数与原始单词包含的字母数相同,但使用 '-'。现在,有人给了我我正在寻找的代码,它读取原始字符串,并在同一位置替换第二个字符串中的 '-' ,具体取决于字符是否在字母中,现在我已经创建了一个循环六次,但该单词不会让前一个字母被猜到(如果猜对了)

import javax.swing.*;

public class MyThisTest{
public static void main(String[] args){
    int error = 0;
    while(error < 6){
    char guessLetter = JOptionPane.showInputDialog(null, "Enter a letter:").charAt(0);



    String original = "painting";
    String secret = new String(new char[original.length()]).replace('\0', '-');

    StringBuilder builder = new StringBuilder(secret);
    for (int i = 0; i < original.length(); i++){
        if (original.charAt(i) == guessLetter){
            builder.setCharAt(i, guessLetter);
        }
    }

    secret = builder.toString();
    error++;
    System.out.println(secret);
    System.out.println(original);
    }

}
}

最佳答案

只需更改2行代码,将其放在while循环之前

String original = "painting";
String secret = new String(new char[original.length()]).replace('\0', '-');

关于java - while 循环循环所有内容但不保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12239358/

相关文章:

java - 如何使用鼠标拖动事件在java applet上绘制一个矩形并使其停留

Java背景框架和图像之间的间隙

java - 第二次单击鼠标时 JPanel 不更新

java - Android 中的 Dialog 内的 setAdapter() 无法弹出吗?

c++ - 在 C++ 中同时使用 IFileDialog 和 SHBrowseForFolder

java - 在服务器上运行 spring boot

java - Eclipse - 添加 module-info.java 时未找到模块

java - Spring 。将复选框绑定(bind)到 ModelAttribute

java - 如何从数组中打印出 int 值?

JavaFX 对话框通信