java println 运行 函数没有返回函数

java println running function not returning function

FULL GITHUB FILES FOUND HERE

这是classRoulette.java

public static void main(String[] args) {
  System.out.println("Welcome to roulette " + Casino.player());
}

这是classCasino.java

public static String player() {
   Scanner sc = new Scanner(System.in);

   String name;
   System.out.println("Please enter your name : ");
   name = sc.nextLine();

   return name;
}

当 运行ning Roulette.java 时,它不会打印 Casino.player() 作为您姓名的变量,而是 运行ning 函数并询问您的姓名。我想先运行Casino.java,问你的名字,然后运行轮盘,欢迎你的名字。不要再问你的名字了。

注意:编程新手

尝试这样的事情

String player = Casino.player();

System.out.println("Welcome to roulette " + player);

Casinoclass中的player()方法打印出输入用户名的信息。每次调用该方法时都会发生这种情况。要执行您想执行的操作,您需要创建一个条件来检查播放器是否已设置。

注意:这不是好的做法或 class 设计,将来您应该在 class 中研究 class 设计和设置字段的正确做法。我建议在您开始工作后将此代码发布到 Code Review 上,以获得有关如何改进此设计的完整答案。

您的 Casino class 应如下所示:

public class Casino {
    private static String player = "";

    public static String player() {
        if (player.equals("")) {
            Scanner sc = new Scanner(System.in);
            System.out.println("Please enter your name : ");
            this.player = sc.nextLine();;
        }
        return player;
    }
}