我想在满足条件(其他)时从某个点重新运行此方法,我知道我需要为其创建一个新的类/方法,但不确定如何,因为我的所有变量都保留在主方法中。
import java.util.*;
public class OddsAndEvens {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Let's play a game called Odds And Evens");
System.out.println();
System.out.println("What is your name? ");
//user name
String name = input.nextLine();
System.out.println("Hi " + name + "Which do you choose? Odds or Evens ?");
//user preference this is where I want to rerun the method from in else condition
String pref = input.nextLine();
if (pref.equals("Odds") || pref.equals("odds")) {
System.out.println(name + " has picked odds ! Computer will be evens");
} else if(pref.equals("Evens") || pref.equals("evens")) {
System.out.println(name + " has picked evens! Computer will be odds");
} else {
System.out.println("please enter a valid answer");
}
}
}
最佳答案
有很多方法可以做到这一点,一种方法是按照 Valentin 所说的那样,创建一个你可以记忆起来的方法。 您还可以使用 while 循环,不断询问“赔率”或“偶数”,直到用户输入两者之一。 大致如下:
String pref = "";
while(!pref.equalsIgnoreCase("odds") && !pref.equalsIgnoreCase("evens")) {
pref = input.nextLine();
if (pref.equals("Odds") || pref.equals("odds")) {
System.out.println(name + " has picked odds ! Computer will be evens");
} else if (pref.equals("Evens") || pref.equals("evens")) {
System.out.println(name + " has picked evens! Computer will be odds");
} else {
System.out.println("please enter a valid answer");
}
}
您可以通过任何方式缩短代码并使其更清晰,但您应该了解主要思想。
关于java - 从某个点记忆一个方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48443642/