gpt4 book ai didi

java - 如何停止方法不断循环

转载 作者:太空宇宙 更新时间:2023-11-04 06:12:58 25 4
gpt4 key购买 nike

我目前正在尝试用java完成一个包含多个类的程序,该程序将允许用户输入信息来帮助他或她预订摇滚音乐节的门票、住宿、 parking 等。我已经从“适应”类之一开始,将用户的正确输入返回到主类,但是,我发现当我运行程序并输入选项 3 时,它立即连续循环,我必须终止它。我在网上搜索了一种停止循环的方法,并让它返回正确的输入信息,但无济于事,在这个循环让我发疯之前,我将不胜感激对一个非常新的新手的任何帮助!下面是我的主要类(class)和“住宿”类(class)。预先感谢您,并对我的任何困惑编码表示歉意,因为我一直在尝试各种选择,正如我之前所说的。

import java.util.Scanner;
import java.util.InputMismatchException;

public class clydeRockfest {

public static void main(String[] args) {




boolean quit = false;
Scanner in = new Scanner(System.in);
int choice; // Display the menu
int answer = 0;

Accommodation accommodation = new Accommodation();
//accommodation.getaccommodation();


do{

System.out.println("1\t Festgoers");
System.out.println("2\t Ticket");
System.out.println("3\t Accommodation");
System.out.println("4\t Transport");
System.out.println("5\t Parking");
System.out.println("0\t Quit");


System.out.println("Please enter your choice:");

//Get user's choice
choice=in.nextInt();
if(choice == 0)
quit=true;


//Display the title of the chosen module
switch (choice) {

break;

case 3: accommodation.getaccommodation();
System.out.println("You require " + answer + " accommodation.");
break;


case 0:
quit=true;
break;

default: System.out.println("Invalid choice, please choose again.");

} //end of switch
} //end of the main method
while(!quit);
} //end of class

}


public class Accommodation {

private String accommodation;

void getaccommodation(){


int no = 0; // no accommodation at all required
int self_Pitch = 0; // chosen if requiring a pitch
int tent = 0; // chosen if using a tent
int answer = 0;
int choice = 0;

boolean done = false;


System.out.println("Do you require accommodation?");
System.out.println();

// Answer validation loop
boolean validanswer = true;
while (!validanswer){

System.out.println("Enter:(1=NO, 2=SELF-PITCH, 3=TENT)");
System.out.println();


if(answer > 0 && answer < 4){
validanswer = true;
done = true;
}// ends if
else{
System.out.println();
System.out.println("That is not a valid answer, please choose again:");
System.out.println();

} // ends else
} //ends while
}

public void setaccommodation(String accommodation){
this.accommodation = accommodation;
}

输出:

Please enter your choice:
3
Do you require accommodation?

You require 0 accommodation.
1 Festgoers
2 Ticket
3 Accommodation
4 Transport
5 Parking
0 Quit
Please enter your choice:

最佳答案

您可以通过设置 done=false 来启动循环,但不要设置 done = true,这样循环就永远不会结束

关于java - 如何停止方法不断循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28483326/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com