Java 在面向对象编程中将Int值更改为字符串

Java 在面向对象编程中将Int值更改为字符串,java,javafx,Java,Javafx,我现在正在JavaFX上做一个简单的游戏。 到目前为止,我的代码使用随机数生成器生成随机怪物,每次我点击探索按钮时,我的生命值都会减少一个随机数 我还添加了一个统计框。此框将显示我当前的健康、饥饿和水合水平 我的问题是,我不确定应该如何更改统计框中的值。每次我的角色被怪物击中时,我都希望健康文本发生变化。当我这样做时: dStatBox.setText(mainCharacter.getHealthLevel()); 它说我必须将int转换成字符串。我该怎么做呢 我的全部代码如下:

我现在正在JavaFX上做一个简单的游戏。

到目前为止,我的代码使用随机数生成器生成随机怪物,每次我点击探索按钮时,我的生命值都会减少一个随机数

我还添加了一个统计框。此框将显示我当前的健康、饥饿和水合水平

我的问题是,我不确定应该如何更改统计框中的值。每次我的角色被怪物击中时,我都希望健康文本发生变化。当我这样做时:

dStatBox.setText(mainCharacter.getHealthLevel());
它说我必须将int转换成字符串。我该怎么做呢

我的全部代码如下:

    import java.util.Random;

import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextArea;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.GridPane;
import javafx.scene.layout.HBox;
import javafx.scene.layout.Pane;
import javafx.scene.layout.VBox;
import javafx.scene.text.Font;
import javafx.scene.text.FontPosture;
import javafx.scene.text.FontWeight;
import javafx.stage.Stage;

public class Game extends Application {
    public static TextArea dialogue = new TextArea();
    public static TextArea dStatBox = new TextArea();
    Button exploreButton;
    Random r = new Random();
    int ogreDamage = r.nextInt(20) + 1;



    public void start(Stage primaryStage) {
        Character mainCharacter = new Character("Nikki");
        BorderPane pane = new BorderPane();
        HBox top = new HBox();
        VBox gameBox = new VBox();
        VBox explore = new VBox();
        VBox statBox = new VBox();
        exploreButton = new Button("Explore");

        Label stats = new Label("Stats");
        stats.setFont(Font.font(30));
        stats.setFont(Font.font("Helvetica", FontWeight.BOLD, FontPosture.REGULAR, 24));

        statBox.setPadding(new Insets(10,10,10,10));
        statBox.setSpacing(10);
        statBox.setMaxHeight(300);
        statBox.setPrefWidth(300);
        statBox.getChildren().addAll(stats, dStatBox);
        statBox.setAlignment(Pos.TOP_CENTER);
        dStatBox.setEditable(false);

        dStatBox.setText("Health: 100/100\n");

        Label label = new Label("Game Dialogue");
        label.setFont(Font.font(30));
        label.setFont(Font.font("Helvetica", FontWeight.BOLD, FontPosture.REGULAR, 24));

        gameBox.setPadding(new Insets(10,10,10,10));
        gameBox.setSpacing(10);
        dialogue.setMaxHeight(200);
        dialogue.setMaxWidth(470);
        dialogue.setWrapText(true);
        dialogue.setEditable(false);

        gameBox.getChildren().addAll(label, dialogue, exploreButton);
        gameBox.setAlignment(Pos.CENTER);
        top.getChildren().addAll(gameBox, statBox);
        top.setAlignment(Pos.TOP_LEFT);
        pane.setTop(top);

        dialogue.appendText("Welcome to Wild Berries - the Ultimate Survival Game\n");
        dialogue.appendText("How long can you survive for? Only time will tell...\n");

        exploreButton.setOnAction(e -> {
            Random r = new Random();
            int ogreDamage = r.nextInt(20) + 1;
            int randomInt = r.nextInt(3) + 1;
            dialogue.appendText("You begin to explore the wild...\n");

            if(randomInt == 1) {
                dialogue.appendText("A wild Ogre has appeared!\n");
                dialogue.appendText("You have been hurt. -" + ogreDamage + " HP.\n");
                mainCharacter.setHealthLevel(mainCharacter.getHealthLevel() - ogreDamage);

                dialogue.appendText(mainCharacter.getHealthLevel());



                if(mainCharacter.getHealthLevel() <= 0) {
                    dialogue.appendText("You have died. Thank you for playing.");
                }
            }

            if(randomInt == 2) {
                dialogue.appendText("A wild Goblin has appeared!\n");
            }

            if(randomInt == 3) {
                dialogue.appendText("A wild Ghost has appeared!\n");
            }

        });



        Scene scene = new Scene(pane, 800, 450);
        primaryStage.setScene(scene);
        primaryStage.setTitle("Wild Berries GUI");
        primaryStage.show();
    }


    public static void main(String[] args) {
        Application.launch(args);
    }
}
我假设mainCharacter.getHealthLevel返回一个int

就这么简单:

int healthLevel = mainCharacter.getHealthLevel();
String.valueOf(healthLevel);
//or
Integer.toString(healthLevel);