应用do while循环

功夫鸡

我的代码当前无法在程序的开头“请输入...”开始。我希望代码每次执行选择1或2时都能返回到开始语句。while语句不能满足此要求,因为我不能在声明“ choice”之前使用while语句。我知道我想使用do while循环,但是每次我尝试实现它时-大括号给我一个错误。

以下是我的代码片段:

    System.out.println("Please type in 1 for a customer to view their portfolio, 2 to trade stocks or 3 to exit the application");
    int choice = Integer.parseInt(input.nextLine());
    {
while (!"3".equals(choice));
    { 
        if (choice == 1) {
            System.out.println(mycustomers[menuchoice].toString());
            return;
                         }
        if (choice == 2) {
            String StockSelect = "Please select a stock";
            for (int i = 0; i < mystocks.length; i++) {
                // [i] is the element we are accessing
                StockSelect += " " + i + " " + (mystocks[i].getSymbol());
            }

            System.out.println(StockSelect);

            int stockchoice = Integer.parseInt(input.nextLine());

            System.out.println("Select 1 to buy or 2 to sell?");
            int choice2 = Integer.parseInt(input.nextLine());

            if (choice2 == 1) {
                System.out.println("How many stocks would you like to buy ");
                int volumebought = Integer.parseInt(input.nextLine());
                for (int i = 0; i < numofstocks; i++) {
                    mycustomers[menuchoice].setBalance(
                            mycustomers[menuchoice].getBalance() - (volumebought * mystocks[i].getprice()));
                    mycustomers[menuchoice].setPortfolio();
                }
                System.out.println(mycustomers[menuchoice].toString());
                return;
            }
            if (choice2 == 2) {
                System.out.println("How much stocks would you like to sell ");
                int volumesold = Integer.parseInt(input.nextLine());
                for (int i = 0; i < numofstocks; i++) {
                    mycustomers[menuchoice].setBalance(
                            mycustomers[menuchoice].getBalance() + (volumesold * mystocks[i].getprice()));
                            mycustomers[menuchoice].setPortfolio();
                }
                System.out.println(mycustomers[menuchoice].toString());
                return;
            }

        }
        if (choice == 3) // how to exit application
        {
            System.out.println("Thank you for using the application");
            System.out.println("The current state of all customers are:");
            for (int i = 0; i < mycustomers.length; i++) {
                System.out.println(mycustomers[i].toString());
            }
            System.out.println("The current state of all stocks are:");
            for (int i = 0; i < mystocks.length; i++) {
                System.out.println(mystocks[i].toString());
            }
            System.exit(0);
        }

    }

}}}

我如何实现do-while循环,以便在执行代码后每次返回到初始语句-仅在输入不是3的情况下?

纳特猫

在while循环中要求输入,如下所示:

choice = Integer.parseInt(input.nextLine());

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章