gpt4 book ai didi

Java StringBuilder - append 字符

转载 作者:行者123 更新时间:2023-12-01 15:00:24 25 4
gpt4 key购买 nike

我有一个刽子手框架、欢迎框架和一个主机,当您赢得刽子手游戏时,我想在主机上添加星号 (*)

刽子手框架:

public void win(){
JOptionPane.showMessageDialog(null, "Congrats! The word was " + GuessWord);
MainFrame.totalStars.append("*");
MainFrame.totalLabel.setText(MainFrame.stars);
setVisible(false);
MainFrame.hangmanButton.setEnabled(false);
MainFrame.returnMain();
}

主机:

    public static final StringBuilder totalStars = new StringBuilder();
public static String stars = totalStars.toString();

public static void returnMain(){
totalStars.append("* ");
totalLabel.setText(stars);
WelcomeFrame.playButton.doClick();
}

欢迎框架:

    private void playButtonActionPerformed(java.awt.event.ActionEvent evt) {
String userName = nameText.getText();

// Open MainFrame
MainFrame MFrame = new MainFrame();
MFrame.setVisible(true);
setVisible(false);
MainFrame.welcomeLabel.setText("Welcome " + userName + "!");
MainFrame.totalStars.append("* ");
MainFrame.totalStarsLabel.setText(MainFrame.stars);
}

我有一个标签 (totalLabel),我想为其添加星号 (*)。但是,当该方法在 HangmanFrame 中运行时,它会转到 PlayFrame,但不会添加任何星星。

有人能看出我做错了什么吗?

已解决:

将方法名称更改为 returnMain()

使用“totalStars.toString()”更改了“stars”的所有实例

最佳答案

首先,你的程序将无法编译,因为public static void return() {...,我想你应该知道return是一个保留的Java 中的单词

其次,您可以创建public static String Stars =totalStars.toString();,但是这样就可以了这并不意味着 stars 将始终包含 totalString 所具有的内容。这只是瞬时的。

你绝对应该使用totalLabel.setText(totalStars.toString());

关于Java StringBuilder - append 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13735311/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com