comment puis-je continuer à prendre des choix dans le cas du commutateur jusqu'à ce que le choix de sortie soit entré dans java [dupliquer]
Cette question a déjà une réponse ici:
- je veux continuer à prendre des choix de l'utilisateur jusqu'à ce qu'il donne une instruction exit.
- Comment je peux sortir de la boucle while si je l'utilise dans ce code?
- Y a-t-il un autre moyen de prendre choix de l'utilisateur plutôt que de changer de boîtier:
- Et si j'essaie d'utiliser while loop pour cela, alors il va dans une boucle infinie:
Code:
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);
}
0
Author: Harsha pps, 2018-07-21
2 answers
Si vous voulez continuer à prendre l'entrée de l'utilisateur jusqu'à ce qu'il donne la commande exit, vous devez continuer à prendre l'entrée dans la boucle while. Déplacer c=in.nextLine()
dans la boucle while juste avant l'instruction switch.
Si vous voulez demander à l'utilisateur d'ajouter ensuite de l'impression d'un relevé à la fin de la boucle juste après l'instruction switch se termine, et, au lieu de passer c=in.nextLine()
à la fin de la boucle while juste après l'instruction print. Quelque chose comme:
System.out.print("Enter the title of another book: ");
c=in.nextLine();
-1
Author: buckeyeguyy, 2018-07-21 13:23:55
Je pense que ce que vous recherchez déplace votre nextLine
à l'intérieur de la boucle while.
Cette partie du code:
//System.out.println("enter exit for exit if don't want to search");
c=in.nextLine();
while(d==0)
{
.....
À ceci:
//System.out.println("enter exit for exit if don't want to search");
while(d==0)
{
c=in.nextLine();
.....
-1
Author: Ogiez, 2018-07-21 13:13:12