Java 如何返回到程序中的步骤?

Java 如何返回到程序中的步骤?,java,if-statement,Java,If Statement,我有一个银行账户程序,我在学校写的时候正在重写,我想知道如何回到程序中的某个步骤 因此,在我创建帐户并选择取款选项后,我想返回并再次获得选项提示,这将如何完成?(参见代码中的注释) 非常感谢 主要类别: import java.text.*; public class BankAccountTest { public static void main (String args[]){ NumberFormat formatter = NumberFormat.get

我有一个银行账户程序,我在学校写的时候正在重写,我想知道如何回到程序中的某个步骤

因此,在我创建帐户并选择取款选项后,我想返回并再次获得选项提示,这将如何完成?(参见代码中的注释) 非常感谢

主要类别:

import java.text.*;

public class BankAccountTest {
 public static void main (String args[]){

            NumberFormat formatter = NumberFormat.getNumberInstance();
            formatter.setMaximumFractionDigits(2);  // Helps formatter format for final output
            formatter.setMinimumFractionDigits(2);
            ConsoleReader console = new ConsoleReader(System.in);

     System.out.println("Hello, would you like to make a new bank account?");
     String newA = console.readLine();

     if(newA.equalsIgnoreCase("yes")){
         System.out.println("How much would you like to deposit initially?");
         double init = console.readDouble();

         BankAccount account = new BankAccount(init);

         System.out.println("Your account is created, what would you like to do? /n 1: Get Balance /n 2: Get Account ID /n 3: Make a Withdrawl /n 4: Make a Deposit?");
         String option = console.readLine();

         if(option.equalsIgnoreCase("get balance")){
             System.out.println(account.getBalance());  //go back to the if after this excecutes
         }
     }

 }
}
银行账户类别:

public class BankAccount {

    public static int bankID = 0;

    //constructor called by BankAccount michaelsBank = new BankAccount();
    public BankAccount(){
        balance = 0;
        accnum = bankID++;
    }

    //Constructs a bank account with an initial deposit, will be used if given a number for a parameter
    public BankAccount(double initialBalance){
        balance = initialBalance;
    }


        public void deposit(double amount){
            balance = balance + amount;
        }

        public void withdraw(double amount){
            balance = balance - amount;
        }

        public double getBalance(){
            return balance;
        }

        public int getID(){
            return accnum;
        }

        private int accnum;
        private double balance;

}
控制台读卡器类:

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.IOException;

/** 
   A class to read strings and numbers from an input stream.
   This class is suitable for beginning Java programmers.
   It constructs the necessary buffered reader, 
   handles I/O exceptions, and converts strings to numbers.
*/

public class ConsoleReader
{  /**
      Constructs a console reader from an input stream
      such as System.in
      @param inStream an input stream 
   */
   public ConsoleReader(InputStream inStream)
   {  reader = new BufferedReader
         (new InputStreamReader(inStream)); 
   }

   /**
      Reads a line of input and converts it into an integer.
      The input line must contain nothing but an integer.
      Not even added white space is allowed.
      @return the integer that the user typed
   */
   public int readInt() 
   {  String inputString = readLine();
      int n = Integer.parseInt(inputString);
      return n;
   }

   /**
      Reads a line of input and converts it into a floating-
      point number. The input line must contain nothing but 
      a nunber. Not even added white space is allowed.
      @return the number that the user typed
   */
   public double readDouble() 
   {  String inputString = readLine();
      double x = Double.parseDouble(inputString);
      return x;
   }

   /**
      Reads a line of input. In the (unlikely) event
      of an IOException, the program terminates. 
      @return the line of input that the user typed, null
      at the end of input
   */
   public String readLine() 
   {  String inputLine = "";

      try
      {  inputLine = reader.readLine();
      }
      catch(IOException e)
      {  System.out.println(e);
         System.exit(1);
      }

      return inputLine;
   }

   private BufferedReader reader; 
}
简单循环应该可以解决它。
另外,请注意,在该行执行后,您应该再次阅读console,以防止无限循环。

您了解循环了吗?这是关键…@jonSkeet我确实有,但是我在这里如何实现它呢?只是一个糟糕的提示:a
while(!IneedToExit){into=getOption();switch(o){foo1:…foo2:…foo3:…}
应该会对你有所帮助。。
 String option = console.readLine();

         while(option.equalsIgnoreCase("get balance")){
             System.out.println(account.getBalance());  //go back to the if after this excecutes
             option =  console.readLine();

         }