当使用do-while程序时,即使条件为真,循环也会继续

时间:2015-10-01 14:31:23

标签: java loops do-while

所以我有这个程序,就是要求用户输入他是否要继续,但我的问题是,while行为不端,而不是等待用户输入,而是重复循环而不等待底部的扫描仪输入。

public static void main(String[] args) {
    IO init = new IO();
    Scanner scan = init.getScanner();
    String exit = null;
    do {

        System.out.println("Your price");
        int price = scan.nextInt();
        int choice;
        do {
            System.out.println("VAT ");
            System.out.println("1 =  5%");
            System.out.println("2 = 15%");
            System.out.println("3 =  0%");
            choice = scan.nextInt();
        } while (choice==0 || choice>3);

        sazba saz = new sazba(choice);
        double priceVAT = (double)price * saz.sazbaDPH();
        System.out.println("Final price with VAT is: " +priceVAT);    

        System.out.println("Continue YES/NO");
        exit = scan.nextLine();

    } while (!exit.equalsIgnoreCase("no"));
}

我没有看到do-while逻辑的任何问题,但编译器出于某种原因出现了一些问题。

0 个答案:

没有答案