【问题标题】:How to write a go back code so after the user selects a case he/she can go back to the last option?如何编写返回代码,以便用户选择案例后,他/她可以返回上一个选项?
【发布时间】:2015-10-15 21:06:50
【问题描述】:
package thecashmachin;

import java.util.Scanner;

 public class TheCashMachin {
 public static void main(String[] args) {
    int pin, proceed2=0, withdraw, dailydraw, Proceed, proceed3 = 0;
    double balance;
    Scanner pinnumber = new Scanner(System.in);
    Scanner proc2 = new Scanner(System.in);
    Scanner withd = new Scanner(System.in);
    Scanner Next = new Scanner(System.in);
    Scanner proc3 = new Scanner(System.in);
    balance = 9999.99;

    dailydraw = 1000;
     System.out.println(
            "text .");
    System.out.println("1)Proceed");
    System.out.println("2)Return Card");

        Proceed = Next.nextInt();
        switch (Proceed) {

        case 1:// Proceed
            System.out.println("Please enter your 5 digit pin below.");
            Scanner Pin = new Scanner(System.in);
            int Pincode = Pin.nextInt();
            if (Pincode > 9999 && Pincode < 99999) {
                System.out.println("1)Display Balance");
                System.out.println("2)Withdraw Cash");
                System.out.println("3)Other services");
                proceed2 = proc2.nextInt();
            } else {
                System.err.println(
                        "text");
            }

            break;

        case 2:// Return Card
            System.err.println("text");

            break;

        default:
            System.err.println(
                    "text");

            break;}




    switch (proceed2) {

    case 1:
        System.out.println("Your balance today is:  9999.99"); 

/* * 所以这里显示了余额,在现实生活中,您将有一个返回按钮来显示其他选项,但是在显示余额后在我的代码上,您不能做任何其他事情,必须重新运行脚本我想要一个代码如果选中则返回上一个选项*/

        break;
    case 2:
        System.out.println("Amount to withdraw");
        withdraw = withd.nextInt();
        System.out.println("Please take the cash");
        System.out.println("Current Balance" + " " + (balance - withdraw));
        System.out.println("Daily withdraw left:" + (dailydraw - withdraw));
        if (withdraw > dailydraw) {

            System.err.println("text");
        }
    case 3:
        System.out.println("Would you like to;");
        System.out.println("1)Order a check");
        System.out.println("2)Order a Statement");
        proceed3 = proc3.nextInt();
        break;

    default:
        System.out.println("text");

    }


    switch (proceed3) {

    case 1:

        System.out.println("Your check has been orderd");

        break;

    case 2:
        System.out.println("Your Statement has been orderd");
        break;


    }
}

}

【问题讨论】:

  • “我如何输入循环”是什么意思?
  • 你没有输入一个循环。您可能希望在循环中输入输入

标签: java loops switch-statement java.util.scanner


【解决方案1】:
DO
    BOOLEAN = TRUE;
    SWITCH() // WITH THE DIFFERENT CASES
    DEFAULT BOOLEAN = FALSE;
WHILE BOOLEAN IS FALSE;

这应该可以。使用一个简单的 do while 循环。 在输入switch 之前,您的布尔值设置为TRUE,如果涉及default,它会将其转换为FALSE,然后循环直到布尔值保持TRUE

【讨论】:

  • 当我这样做时,默认设置的字符串会不断循环而不停止
【解决方案2】:

我知道一个简单的方法是在它之前保持与默认值相同的布尔值..

boolean test = True;
while (test)
{
    switch(Proceed)
    {

        case 1://Proceed
            System.out.println("Please enter your 5 digit pin below.");
            Scanner Pin=new Scanner(System.in);
            int Pincode=Pin.nextInt();
            test = false;
            break;

        case 2://Return Card
            System.err.println("Your card is being ejected.\n Please Wait..");
            test = false;
            break;

        default:
            System.err.println("Sorry your request could not be processed.\n Please enter the pin again.\n")
            // when neither case is true, keeps loop running.
            break;

    }
}

【讨论】:

  • 当我这样做时,默认设置的字符串会不断循环而不停止
  • 您是否希望我修改您的问题中的代码,使其更易于阅读且不会出错?当我被几件事分心时,我很难找到问题所在:x
猜你喜欢
  • 2016-03-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-01
  • 2021-11-29
  • 1970-01-01
  • 1970-01-01
  • 2019-01-28
相关资源
最近更新 更多