我正在尝试在java中进行打字冒险游戏,但是我需要一个至少类似于标题中的命令的命令,这里是代码
import java.util.Scanner;
public class MyFirstGameInJava {
public static void main(String[] args) {
System.out.println("Greetings, Enter your name and you may start your quest!");
Scanner Username = new Scanner(System.in);
String name = Username.nextLine();
System.out.println("Greetings " + name );
System.out.println("Welcome to an Unnamed Typing Advanture");
System.out.println("You find yourself on an island with very few trees, you can either hit a tree, or walk along");
String sc = Username.nextLine();
switch(sc){
case "Hit tree":
System.out.println("A coconut falls from the tree");
System.out.println("You can either eat the coconut or throw it");
break;
case "Walk":
System.out.println("You walk for a mile and find a village");
System.out.println("The village appears empty, you can either scream to see if anybody is there, or you can keep walking");
break;
default :
System.out.println("Nothing happens...");
}
String sc1 = Username.nextLine();
switch(sc1){
case "Eat coconut":
System.out.println("You ate the coconut and got poisoned");
System.out.println("You died...");
break;
case "Throw coconut":
System.out.println("By throwing the coconut, you awaken a tiger and he eats you");
System.out.println("You are dead");
break;
case "Scream":
System.out.println("As soon as you scream, a man shoots you down from a window from one of the houses");
System.out.println("You died...");
break;
case "Walk":
System.out.println("You walked through the village, and you find a boat and leave the island");
System.out.println("You win! Updates coming soon!");
break;
default:
System.out.print("Nothing happend");
}
}
}
每当用户键入除了需要之外的其他内容时,就会出现默认情况,但我需要它返回到循环的开头,因此用户可以键入其他一种情况。
答案 0 :(得分:6)
您可以使用continue
语句继续下一次迭代。
那就是说,我在示例代码中看不到循环。您可以使用for
,while
或do/while
进行循环播放。 do/while循环至少执行一次 - 这通常是在向用户询问问题时要执行的操作。
此Java tutorial for Branching Statements在continue
循环中提供了for
语句的示例。
for (int i = 0; i < max; i++) {
// interested only in p's
if (searchMe.charAt(i) != 'p')
continue;
// process p's
numPs++;
}
答案 1 :(得分:3)
将continue;
与无条件循环一起使用,例如
while(true){/* your code*/}
答案 2 :(得分:0)
您的问题做出了错误的假设。 switch()
语句不是循环。它是一堆if / else-if语句的简写:
if(sc1.equals("Eat coconut")) {
System.out.println("You ate the coconut and got poisoned");
System.out.println("You died...");
}
else if(sc1.equals("Throw coconut")) {
//and so on
答案 3 :(得分:0)
我的CS课也有同样的问题:这就是我做的。首先,您需要使用循环。我使用了'while'循环。
所以说你正处于对话的某个阶段,有人要求其他人(比如武术大师要求玩家)做某事,答案选择是“y”或“n”。但玩家输入“m”。这会产生错误。要修复它,您需要创建一个(循环)来继续检查用户是否键入了有效响应,并相应地继续该程序。现在代码......
//Ask if they want to see the rules.
System.out.println("Welcome Player One");
System.out.println("Would you like to read the rules of the gem?");
System.out.println("[y]Yes, please / [n]I know the rules."); //So you made it clear that the choices are 'y' or 'n' (yes or no).
//Decide if they hit yes or no.
char Response; //Variable to hold user response.
Scanner Console = new Scanner(System.in); //I don't know why, exactly, but you need this.
Response = Console.next().charAt(0); //Set response to the user input. A input field will appear.
while(true){ //Making the parameter 'true' makes the flow of the loop depend on the parameters in the if statements (I think).
if(Response == 'y' || Response == 'Y'){
System.out.println("Here are the rules:");
break; //break will make the flow exit the while loop (so you can continue adding the rest of your code).
}
else if(Response == 'n' || Response == 'N'){
System.out.println("Then let us continue:");
break;
}
else{
System.out.println("Would you like to read the rules of the gem?"
System.out.println("You have to enter (y)yes or (n)no...");
Response = Console.next().charAt(0); //Just like before, input field will appear to give them the chance to change their response to a valid one.
continue; //This has to be 'continue' so that the loop will continue to "check" for the value that needs to be input by the user.
}
}
希望这会有所帮助,欢呼。
答案 4 :(得分:0)
不那么详细,更直接。我已经解释了简单的答案。
for(int i = 0; i <= 10; i++){
if(i == 4){
continue;
}
//Should skip 4 and print out 1,2,3,5,6,7,8,9,10
System.out.println(i);
}