嗨伙计这是我的问题,例如我有3篇文章,用户可以选择其中任何一个或全部。一开始我问用户,"你想选择一些文章吗?"如果他输入的是,我们开始while
或do while
循环,它会添加所有选定文章的价格并将其添加到总价值中,
例如,第一条价格是20,第三条价格是40它应该写你已经选择第一条和第三条,总价格是60元。当用户以他的选择结束时,他输入no并且循环结束。
真正的问题是我的do while
循环总是无穷无尽的我不知道如何用String停止循环。这是我的第10版代码,我尝试了所有的东西,但实际上无法解决这个问题。
public static void main(String[] args) {
Scanner tastatura = new Scanner(System.in);
System.out.println("Artikal 1\nArtikal 2\nArtikal 3");
System.out.println("Do you want to chose a new article");
String choiseString = tastatura.nextLine();
do {
System.out.println("Chose article ");
int choise = tastatura.nextInt();
switch (choise) {
case 1:
System.out.println("Artikal 1 ");
int price = 10;
break;
case 2:
System.out.println("Artikal 2 ");
price= 20;
break;
case 3:
System.out.println("Artikal 3");
price = 30;
break;
}
} while (choiseString.equalsIgnoreCase("yes") );
}
答案 0 :(得分:1)
我相信您的问题是您永远不会让用户更改choiseString的值。
允许用户在循环开始之前设置值,但一旦进入循环,它就不会改变。
你的while循环可以改为:
do {
System.out.println("Do you wish to continue?");
choiseString = tastatura.nextLine();
System.out.println("Chose article ");
int choise = tastatura.nextInt();
//rest of your logic here
} while (choiseString.equalsIgnoreCase("yes") );
在这种情况下,它会再请求1个选项然后退出循环(尽管我没有测试过这个代码)。
答案 1 :(得分:0)
我建议使用布尔值。
这样您只需要检查true或false,或1/0。
但重要的部分是在循环中的某些点,将该变量设置为true或false,因为如果你不这样做,循环将是一个无限循环。
在循环内的某个点将变量设置为false或true后,一切都会正常;)
我希望这会有所帮助