Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java中是否有命令使程序返回到循环的开头_Java_Loops_Command_Switch Statement - Fatal编程技术网

java中是否有命令使程序返回到循环的开头

java中是否有命令使程序返回到循环的开头,java,loops,command,switch-statement,Java,Loops,Command,Switch Statement,我正在尝试用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 Userna

我正在尝试用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");



}

}

}

每当用户键入非必需的内容时,就会出现默认情况,但我需要它返回到循环的开头,这样用户就可以键入其他情况之一。

您可以使用
continue
语句继续下一次迭代

也就是说,我在示例代码中没有看到循环。您可以使用
for
while
do/while
循环。循环至少执行一次——这通常是向用户提问时要执行的操作

这提供了
for
循环中
continue
语句的示例

   for (int i = 0; i < max; i++) {
        // interested only in p's
        if (searchMe.charAt(i) != 'p')
            continue;

        // process p's
        numPs++;
    }
for(int i=0;i
使用
继续以无条件循环为例

while(true){/* your code*/}

你的问题作出了错误的假设。
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

要执行所需操作,需要实际的or循环。(链接将带您进入解释这两种结构的Java教程。)

我的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.  
  }  
}

希望这能有所帮助,干杯。

不要太详细,更直截了当。我已经过多地解释了简单的答案

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

for(int i=0;i代码中的循环在哪里?开关不是循环。将代码包装成
while(true)
,然后,确定您希望用户键入什么才能退出,如果他们键入,请使用
break
关键字