Arrays und Bankkonten in Java

Ich bin versucht, zu schreiben eine einfache Bank-Account-Management-Programm, das das folgende tut:

Erstellt ein neues Konto mit Kontonummer und Balance genommen Nutzers gespeichert und in ein array
Wählt ein Konto (aus dem array)
Löscht die ausgewählten Kontos
Zurückziehen und mit der Einzahlung auf ein Konto ausgewählt haben.

Problem: ich verstehe nicht, was meine Fehler sind.

Ich habe versucht, mit verschiedenen Arten von arrays, die für die Kontonummer und balance zu speichern, aber ich habe nicht keine Antwort noch. Ich Suche im web und Stackoverflow für Referenzen, Dokumentationen, einfache Beispiele, aber konnten nicht finden, alle (die, die ich gefunden habe, verwenden einige Befehle und Dinge, die ich noch nicht gelernt, aber ich kann verstehen, wie Sie funktionieren). Ich bin ein Anfänger, ich bin immer noch lernen, und würden uns freuen, einige Ratschläge. Danke!

//Bank account class
public class account {
private int ANumber;
private double balance;

public account(double initialBalance, int accno) {
    balance = initialBalance;
    ANumber = accno;
}

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

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

public double getBalance() {
    return balance;
}
public int getAccount(){
    return ANumber;
}
}

- Und das ist die Haupt-Klasse

 import java.util.Scanner;
 //main class
 public class bankmain {
 public static void main(String[] args) {
    Scanner scan = new Scanner(System.in);
    //Menu starts from here
    Scanner input = new Scanner(System.in);
    System.out.println("Enter the option for the operation you need:");
    System.out.println("****************************************************");
    System.out.println("[ Options: ne - New Account de - Delete Account ]");
    System.out.println("[       dp - Deposit    wi - Withdraw      ]");
    System.out.println("[           se - Select Account ex - Quit      ]");
    System.out.println("****************************************************");
    System.out.print("> ");  //indicator for user input
    String choice = input.next();
    //Options
    while(true){
  if(choice == "ne"){
    int nacc;
    int bal;
    int [][]array = new int[nacc][bal];   //Array for account and balance
    System.out.print("Insert account number: ");
    nacc =input.nextInt(); //-- Input nr for array insertion
    System.out.print("Enter initial balance: ");
    bal=input.nextInt(); //-- Input nr for array insertion
    System.out.println("Current account: " + nacc + " " +  "Balance " + bal);
    break;
  }
  //account selection      
  if(choice.equals("se")){
    System.out.println("Enter number of account to be selected: ");
    //user input for account nr from array
    System.out.println("Account closed.");
  }     
  //close account
  if(choice.equals("de")){
    //array selected for closing
    System.out.println("Account closed.");
  }
  //deposit
  if(choice.equals("dp")){
    System.out.print("Enter amount to deposit:  ");
    double amount = scan.nextDouble();
    if(amount <= 0){
        System.out.println("You must deposit an amount greater than 0.");
    } else {
        System.out.println("You have deposited " + (amount + account.getBalance()));
    }
  }
  //withdrawal     
  if(choice.equals("wi")){
    System.out.print("Enter amount to be withdrawn: ");
    double amount = scan.nextDouble();
        if (amount > account.balance()){ 
            System.out.println("You can't withdraw that amount!");
   } else if (amount <= account.balance()) {
    account.withdraw(amount);
    System.out.println("NewBalance = " + account.getBalance());
   }
   }
//quit 
if(choice == "ex"){
    System.exit(0);
        } 
    }   //end of menu loop
 }//end of main
 } //end of class
  • Bekommst du eine Fehlermeldung? Was passiert und was würden Sie erwarten?
  • Sie müssen erstellen Sie ein array von 'Konto' Objekte und weisen Sie jedem Konto, um neue Kunden und daher die erforderlichen Methoden für das jeweilige Konto. Auch "switch" - Anweisung anstelle verschachtelter wenn-dann-sonst-Anweisung. Sie sind immer noch das mischen der prozeduralen Programmierung mit der Objekt-orientierten Programmierung.
  • Behalten Sie im Hinterkopf: Was würde passieren, wenn jemand sich zurückgezogen "-100.00"? Sein Konto aufladen! Dasselbe geht den anderen Weg mit Einzahlung.
  • Machen, die Klassennamen mit Großbuchstaben beginnen und camel-case z.B. "Konto" oder "BankMain". Sind Sie sicher, dass Sie verwenden möchten if(choice == "ex") diese tests für Referenz-Gleichheit, nicht Wert. Was ist account.balance() ich sehe nicht ein balance-Methode, meinst du getBalance()? Wenn Sie Bearbeiten möchten, und fügen Sie die syntax-Fehler, Sie werden immer die Leute werden eher geneigt sein, zu helfen.
InformationsquelleAutor Azdamus | 2014-08-16
Schreibe einen Kommentar