ich komme bei diesem programm nicht mehr weiter es sollen 5 konten erstellt werden wo jeweils 100€ drauf sind nun soll man von einem konto auf das andere überweisen können ab z22 verstehe ich das programm nicht mehr warum erstellt man da neue objekte?was genau bewiken diese objkete
Java:
importjavax.swing.JOptionPane;classKontoApp{publicstaticvoid main (String args[]){//deklaration der variablenfinalint ANZAHL_KONTEN =5;double betrag;String eingabe, ausgabe;//deklaration des array wo die 5 objekte konten gespeichert werden Konto kontoArray[]=newKonto[ANZAHL_KONTEN];for(int i =0; i< kontoArray.length;i++){// aufruf des Konstruktos
kontoArray[i]=newKonto(i);}// neue objekte deklariertKonto vonKonto, nachKonto;//??
eingabe =JOptionPane.showInputDialog("Überweisung von Kontonr.");
vonKonto = kontoArray[Integer.parseInt(eingabe)];
eingabe =JOptionPane.showInputDialog("...nach Kontonr.");
nachKonto = kontoArray[Integer.parseInt(eingabe)];
eingabe =JOptionPane.showInputDialog("Betrag:");
betrag =Double.parseDouble(eingabe);
vonKonto.ueberweisen(nachKonto, betrag);
ausgabe ="Kontostand von Kontonr."+ vonKonto.getKontoNr()+": "+
vonKonto.getSaldo()+" Euro \n"+"Kontostand von Kontonr."+
nachKonto.getKontoNr()+": "+ nachKonto.getSaldo()+" Euro";JOptionPane.showMessageDialog(null,ausgabe);System.exit(0);}}
du brauchst ja ein Konto von dem du ueberweist und ein Zielkonto... also 2 versch. Konten...
und du erschaffst ja nicht neue Objekte sondern holst die entsprechenden Konten aus dem Array raus.
Java:
Konto vonKonto, nachKonto;
hier erschaffst du keine neuen Objekte - hier deklarierst du nur zwei Variablen vom Typ Konto
Java:
vonKonto = kontoArray[Integer.parseInt(eingabe)];
jetzt weist du der Variable ein Konto (also ein Objekt) hinzu.
Doch, du sorgst dafür, dass vonKonto und nachKonto auf bereits existierende Kontoobjekte "zeigen", diese also referenzieren.
Am anschaulichsten ist wohl, wenn man sich die Objekte wie Fernsahapparate und die Referenzen wie Fernbedienungen vorstellt. Einen neuen Fernseher gibt es nur über "new" (wie der Name schon sagt). Fernbedienungen für einen Fernseher kannst du so viele haben wie du willst, sie lassen sich auch auf einen anderen Fernseher (vom gleichen Typ) "umprogrammieren". Wenn niemand mehr eine Fernbedienung für einen bestimmten Fernseher hat, ist er nutzlos und kann weggeschmissen werden (Garbage Collection). Es gibt auch Fernbedienungen, die auf gar keinen Fernseher zeigen, das wäre dann eine null-Referenz.
//neue Variablen werden vom typ konto deklariertKonto vonKonto, nachKonto;
eingabe =JOptionPane.showInputDialog("Überweisung von Kontonr.");
vonKonto = kontoArray[Integer.parseInt(eingabe)];//konto array wird ausgelesen und in der variable von konto gespeichert//da durch ist vonKonto eine referenz auf eins der 5 Kontoen "zeigt"//somit wird also das Konto ausgewählt von dem das geld überwiesen wird
eingabe =JOptionPane.showInputDialog("...nach Kontonr.");
nachKonto = kontoArray[Integer.parseInt(eingabe)];//konto array wird ausgelesen und in der variable von konto gespeichert//da durch ist nachKonto eine referenz auf eins der 5 Kontoen "zeigt"//somit wird also das Konto ausgewählt von dem das geld eingezahlt wird
eingabe =JOptionPane.showInputDialog("Betrag:");
betrag =Double.parseDouble(eingabe);
vonKonto.ueberweisen(nachKonto, betrag);//methode wird aufgerufen über die referenzvariable vonKonto d.h. von eines//der 5 Konten wird geld abgezogen und auf das andere das dem übergabe// parameter mitgegeben wird auch über eine referenzvariable eingezahlt