java println 运行 函数没有返回函数
java println running function not returning function
这是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);
Casino
class中的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;
}
}
这是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);
Casino
class中的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;
}
}