在java中输入退出选择之前,我如何继续在switch case中进行选择[重复]
Posted
技术标签:
【中文标题】在java中输入退出选择之前,我如何继续在switch case中进行选择[重复]【英文标题】:how do i keep taking choices in switch case until exit choice is entered in java [duplicate] 【发布时间】:2018-07-21 13:04:40 【问题描述】:-
我想继续让用户做出选择,直到他给出退出声明。
如果我在这段代码中使用 while 循环,如何退出?
除了 switch case 之外,还有什么其他方式可以让用户做出选择:i>
如果我尝试为此使用 while 循环,那么它将进入无限循环:
代码:
import java.util.Scanner;
class lib
public static void main(String args[])
Scanner in=new Scanner(System.in);
String c;
int j=5,a=5,s=5,cg=5;
int d=0;
System.out.println("Available Copies :");
System.out.println("java=5,ada=5,sp=5,cg=5");
System.out.println("enter book title");
//System.out.println("enter exit for exit if don't want to search");
c=in.nextLine();
while(d==0)
switch(c)
case "java":
System.out.println("author is herbert");
System.out.println("price :500");
j--;
break;
case "ada":
System.out.println("author is corman");
System.out.println("price :600");
a--;
break;
case "sp":
System.out.println("author is dhamdhire");
System.out.println("price :550");
s--;
break;
case "cg":
System.out.println("author is pearson");
System.out.println("price :700");
cg--;
break;
case "exit":
d++;
break;
default:
System.out.println("book not available");
if(j!=0)
System.out.println("number of available copies is"+j);
【问题讨论】:
我正在写一个答案,但后来意识到我不知道你所有的计数器变量应该做什么。如果您可以添加清晰的问题陈述,这将对您的问题有所帮助。 其实先生,计数器是用于减少每期后的书籍副本数量,最初是5。 【参考方案1】:如果您想继续从用户那里获取输入,直到他们给出退出命令,那么您需要继续在 while 循环中获取输入。将 c=in.nextLine()
移动到 switch 语句之前的 while 循环中。
如果您还想提示用户,请在 switch 语句结束后的循环末尾添加一个 print 语句,而不是将 c=in.nextLine()
移动到 print 语句之后的 while 循环末尾。比如:
System.out.print("Enter the title of another book: ");
c=in.nextLine();
【讨论】:
【参考方案2】:我认为您正在寻找的是将您的 nextLine
移动到 while 循环中。
这部分代码:
//System.out.println("enter exit for exit if don't want to search");
c=in.nextLine();
while(d==0)
.....
到这里:
//System.out.println("enter exit for exit if don't want to search");
while(d==0)
c=in.nextLine();
.....
【讨论】:
以上是关于在java中输入退出选择之前,我如何继续在switch case中进行选择[重复]的主要内容,如果未能解决你的问题,请参考以下文章