java println 运行函数不返回函数

标签 java return println

FULL GITHUB FILES FOUND HERE

这是类Roulette.java

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

这是类Casino.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;
}

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

注意:编程新手

最佳答案

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

注意:这不是好的实践或类设计,将来您应该研究类设计和在类中设置字段的正确实践。我建议将此代码发布在Code Review上一旦你开始工作,就可以得到如何改进这个设计的完整答案。

您的 Casino 类应如下所示:

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;
    }
}

关于java println 运行函数不返回函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39711746/

相关文章:

java - 口袋妖怪游戏。返回数组 JAVA 时遇到问题

c++ - 对于具有引用返回类型的搜索算法,默认返回值应该是什么?

C++ - || 如何运算符(operator)工作?

scala - 在 scala 中 println for-comprehension

java - PrintWriter println(String s) 方法 :\r\n not supported?

java - 来自父类(super class)的方法

java - 无法从 bean 中找到组件

java - 具有可选行的 JTextArea

java - 在 Spring 中解析 MongoRepository 的变量名称

java - 保存下载列表的最佳技术