Zugriff auf Arraylist

Mathis

Mitglied
Hallo,
Ich habe eine Arraylist von Konti, auf die ich nun von der Konsole aus zugreifen möchte. Ich sollte die Datenfelder aufrufen können (Kontostand...) und bearbeiten können (Einzahlung...). Jedes Konto hat eine ID-Nummer, mit der es identifiziert werden kann.

Java:
System.out.println(Kontoliste.get(idNummerTemporaer).getKontostand);

Wenn ich nun versuche, den Kontostand eines Kontos aufzurufen kommt eine Fehlermeldung

Hier der ganze Code:

Java:
public class Konto
{
    private String name; 
    private int idNummer;
    private int kontostand;
    
    public Konto(String name, int idNummer)
    {
        this.name = name;
        this.idNummer = idNummer;
        kontostand = 0;
    }

  public void einzahlen(int betrag)
    {
        setKontostand(kontostand + betrag);
    }

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

        ArrayList<Konto> Kontoliste = new ArrayList<Konto>();
        int nummer;
    
do

		{
		    
System.out.println("Bitte wählen Sie eine Option");
System.out.println("Neues Konto eröffnen: 1");
System.out.println("Kontostand ausgeben: 2");
System.out.println("Betrag einzahlen: 3");
System.out.println("Beenden: 4");

    Console console = System.console();
    String eingabe = console.readLine("Eingabenummer: ");
    nummer = Integer.parseInt(eingabe); // Eingabe in Zahl umwandeln
    switch (nummer)
    {
        case 1:  
            String vorname = console.readLine("Name des Kontoinhaberes: ");

            int idNummer = Kontoliste.size() + 1;
            Konto kontoTemporaer = new Konto(name, idNummer);
            System.out.println("Dem Konto wurde folgende idNummer zugewiesen: " + kontoTemporaer.getIdNummer());
            Kontoliste.add(new Konto(name, nidNummer));
            System.out.println("Anzahl Konti in Kontoliste: " + Kontoliste.size());
            break;
        case 2:  
            String eingabe1 = console.readLine("Konto-ID-Nummer eingeben: ");
            int idNummer1 = Integer.parseInt(eingabe1);
            System.out.println(Kontoliste.get(idNummer1).getKontostand());
            break;
        case 3:  
            String eingabe2 = console.readLine("Konto-ID-Nummer eingeben: ");
            int idNummer2 = Integer.parseInt(eingabe2);
            String eingabe3 = console.readLine("Betrag eingeben: ");
            int betrag1 = Integer.parseInt(eingabe3);
            System.out.println(Kontoliste.get(idNummer2).einzahlen(betrag1));
            break;
        
    }
} while (nummer <4);
}
}

Tausend Dank im Voraus, wenn mir jemand einen Tipp geben könnte!
 

DrZoidberg

Top Contributor
Java:
System.out.println(Kontoliste.get(idNummer1).getKontostand());
Die idNummer ist nicht gleich der Position in der ArrayList. Nimm entweder eine HashMap und verwende die idNummer als Key oder such nach der idNummer in der ArrayList
Java:
for(Konto konto: Kontoliste) {
    if(konto.getIdNummer() == idNummer) System.out.println(konto.getKontostand());
}
 

Network

Top Contributor
Ändere mal die Zeile
Java:
int idNummer = Kontoliste.size() + 1;
in
Java:
int idNummer = Kontoliste.size();

Wenn eine Liste 8 Elemente enthält bedeutet das, dass die Elemente sich an der Stelle
0 1 2 3 4 5 6 7
befinden.
Es wird von 0 aus gezählt, der 8e Eintrag einer ArrayList steht also an der 7 stelle.
 

Mathis

Mitglied
Vielen Dank, DrZoidberg. Ich habe den Code übernommen und es scheint zu funktionieren. Das Problem ist jetzt, dass nun der Kontostand von allen Konten ausgegeben wird, nicht nur für das definierte Konto...
 

Network

Top Contributor
Fehler entdeckt im Code:

- Fehler erkennen:
Alle Konten werden in der for-Schleife ausgegeben
- Fehlerquelle suchen:
Der Kontrollmechanismus ("if()") in der for-Schleife sollte dafür sorgen dass der Fehler nicht auftritt. Er scheint zu versagen.
- Fehler provozieren:
Der Fehler tritt auf wenn die Konten alle die selbe ID haben, nur so versagt der Kontrollmechanismus
- Fehler beseitigen:
Logischenfehlerort finden (ID Zuweisung an die Konten(Existiert sie überhaupt noch?)) und umschreiben, dass sie funktioniert.

Mit anderen Worten:
All deine Konten haben die selbe ID. Da scheint was schiefgelaufen zu sein.

Gruß
Net
 

JulesW

Mitglied
Hallo Mathis

ich würde dir vielleicht empfehlen, je nach dem wie weit du dich auskennst, dass Problem mit Listen zu lösen.
Du kannst mit dem Konstruktor dann eine neue Liste erzeugen und mit der add()-Funktion neue Konten hinzufügen. Ist wesentlich angenehmer zu nutzen als ein Array, da du jedes Konto als ein Element anlegst und nicht immer den kompletten Array durchlaufen musst, da du sie mit Vorgänger und Nachfolger verketten kannst.

Über Funktionen wie getContent() und setContent kannst du dir dann die Kontodaten ausgeben lassen bzw. ändern.

Momentan habe ich zu Hause kein Internet aber falls du mehr erfahren möchtest kann ich dir gerne Infos, Codebeispiele etc. zukommen lassen ;)

Gruß Jules
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Zugriff auf eine ArrayList in einer anderen Klasse Java Basics - Anfänger-Themen 4
N ArrayList in eigener Klasse erzeugen mit Zugriff Java Basics - Anfänger-Themen 7
H Datentypen ArrayList in ArrayList: Zugriff Java Basics - Anfänger-Themen 6
K ArrayList in Konstruktor - wie späterer Zugriff Java Basics - Anfänger-Themen 2
P Zugriff auf Felder in ArrayList Objekten Java Basics - Anfänger-Themen 2
W Typisierte ArrayList und der Zugriff auf den Typ Java Basics - Anfänger-Themen 5
N Zugriff auf Werte in Arrays innerhalb ArrayList Java Basics - Anfänger-Themen 2
D Mehrdimensionale ArrayList - Zugriff über return Java Basics - Anfänger-Themen 2
X Synchronized Zugriff ArrayList<E> Java Basics - Anfänger-Themen 6
E Zugriff auf Objekte in einer ArrayList Java Basics - Anfänger-Themen 3
I In unterschiedlichen Applikation Zugriff auf eine gemeinsame Anwendung? Java Basics - Anfänger-Themen 8
C Zugriff auf Methode Java Basics - Anfänger-Themen 2
I Applikationsserver (WildFly) - Zugriff auf Ressourcen.. Problem mit Pfade Java Basics - Anfänger-Themen 10
J Zugriff auf eine 2. Klasse die per UI-Designer erstellt wurde Java Basics - Anfänger-Themen 1
Encera Zugriff auf Map-Objekte Java Basics - Anfänger-Themen 3
T Zugriff auf Control anderer Klasse Java Basics - Anfänger-Themen 5
W Unterschiede bei Zugriff auf Objekt und Klassenvariablen über einen Getter? Java Basics - Anfänger-Themen 2
EchtKeineAhnungManchmal hallo habe ein Problem mit einer Datei -> (Zugriff verweigert) Java Basics - Anfänger-Themen 4
R TreeSet Zugriff aus anderer Klasse Java Basics - Anfänger-Themen 8
C Kein Zugriff auf Klassenmethoden in Main Methode Java Basics - Anfänger-Themen 23
H Zugriff verweigert Java Basics - Anfänger-Themen 5
moiss002 Umgebungsvariable Kein Zugriff auf ein Array Java Basics - Anfänger-Themen 7
B Probleme mit Zugriff auf Dateisystem Windows 10 ( jFileChooser) Java Basics - Anfänger-Themen 17
B Zugriffsmodifier, Zugriff außerhalb Package Java Basics - Anfänger-Themen 5
C Zugriff auf Attribut von Oberklasse Java Basics - Anfänger-Themen 8
P Klasse hat keinen Zugriff auf getter/setter-Methoden eines Objektes Java Basics - Anfänger-Themen 9
B Methoden Methoden haben kein Zugriff auf variablen Java Basics - Anfänger-Themen 4
M Gettter/Setter Methoden Klassenfelder kapselung und zugriff? Java Basics - Anfänger-Themen 1
S Zugriff auf protected Fields = guter Programmierstil? Java Basics - Anfänger-Themen 11
M Pfadprobleme - Zugriff auf einen Ordner im Workspace Java Basics - Anfänger-Themen 17
ruutaiokwu Bluetooth-Zugriff, braucht es dazu plattformabhängige Libraries oder kann das Java mittlerweile selbst? Java Basics - Anfänger-Themen 10
R Zugriff auf den Index eines Arrays, welches ein Objekt ist. Java Basics - Anfänger-Themen 4
P Zugriff auf Variablen anderer Klassen in Greenfoot Java Basics - Anfänger-Themen 1
L Methoden Zugriff <identifier> expected Java Basics - Anfänger-Themen 13
T Java - Zugriff nur mit CLASSPATH ? Java Basics - Anfänger-Themen 7
B Klassen Zugriff auf ein Objekt einer Klasse aus einer Methode heraus Java Basics - Anfänger-Themen 4
L Zugriff auf Attribute eins Objekts über ActionListener Java Basics - Anfänger-Themen 4
D Zugriff auf Methode einer anderen Klasse Java Basics - Anfänger-Themen 5
S Zugriff auf Objekt Java Basics - Anfänger-Themen 5
A Klassen Zugriff auf Instanzen Java Basics - Anfänger-Themen 2
J Zugriff auf Variable in anderem Programm Java Basics - Anfänger-Themen 5
Q Zugriff auf Attribute Java Basics - Anfänger-Themen 3
J Klassen Zugriff auf ein "String Array" Java Basics - Anfänger-Themen 6
J get methoden zugriff und objekt erzeugung Java Basics - Anfänger-Themen 30
J Datenbank Zugriff Java Basics - Anfänger-Themen 24
T Zugriff auf JCheckBox Java Basics - Anfänger-Themen 8
E Netzlaufwerk Zugriff schlägt fehl Java Basics - Anfänger-Themen 11
C Group, Actor und Instanz-Zugriff, LibGDX Java Basics - Anfänger-Themen 4
S Zugriff auf Attribut einer unbekannten Klasse erhalten Java Basics - Anfänger-Themen 6
R Methoden Methode der GUI-Klasse Zugriff auf Methoden der Hauptklasse Java Basics - Anfänger-Themen 9
S Vererbung Zugriff auf die Basisklasse einer "zweiten" Erweiterungsklasse Java Basics - Anfänger-Themen 2
Z Threads Threads - Zugriff auf Ressourcen ohne(Lock, Synchronized) Java Basics - Anfänger-Themen 2
S Vererbung Zugriff auf Methode funktioniert nicht (static/non-static) Java Basics - Anfänger-Themen 3
F Klassen Zugriff auf verschachtelte Objekte Java Basics - Anfänger-Themen 11
J Sichtbarkeit und Zugriff Java Basics - Anfänger-Themen 9
G Wieviel kostet der Zugriff auf Objektattribute im Vergleich zur Erstellung von vars in Methode? Java Basics - Anfänger-Themen 11
L Zugriff auf zwei Java-Quellcodes Java Basics - Anfänger-Themen 3
A OOP Zugriff auf Objekte von außen Java Basics - Anfänger-Themen 8
M Kapselung Datenkapselung Sinn direkter Zugriff? Java Basics - Anfänger-Themen 1
G Methoden Zugriff auf Methode.. aus einer anderen Klasse Java Basics - Anfänger-Themen 6
J JDialog Zugriff auf parent JDialog Java Basics - Anfänger-Themen 5
K Collections Zugriff auf ein bestimmtes Element in der Collection Java Basics - Anfänger-Themen 1
F Zugriff auf Objekt einer anderen Klasse Java Basics - Anfänger-Themen 7
J Erste Schritte Zugriff auf Eigenschaft Java Basics - Anfänger-Themen 2
M MVC - Problem mit Zugriff auf Objekt Java Basics - Anfänger-Themen 4
D Zugriff auf von einer anderen Klasse erstellten Objekten Java Basics - Anfänger-Themen 5
C 5 - Zugriff verweigert Java Basics - Anfänger-Themen 1
K Zugriff auf Variabeln Wert einer Instanz Java Basics - Anfänger-Themen 4
A Methoden Zugriff auf eingelesene Variablen in der main Methode (ohne Änderung der Parameterliste) Java Basics - Anfänger-Themen 4
Z Methoden Zugriff mit Klasse 3 auf Methode von Klasse 2 welche in Klasse 1 erzeugt wird Java Basics - Anfänger-Themen 6
Z Zugriff auf andere Methoden Java Basics - Anfänger-Themen 12
Z Zugriff auf Pakete Java Basics - Anfänger-Themen 5
G Zugriff zwischen Klassen Java Basics - Anfänger-Themen 15
N Problem mit Swing Textfeld und Zugriff aus anderer Klasse Java Basics - Anfänger-Themen 6
H Kein Zugriff auf das Element einer JList möglich: Fehlermeldung Java Basics - Anfänger-Themen 2
W OOP Zugriff auf mit Objekt erstellte Struktur Java Basics - Anfänger-Themen 7
F Klassen Zugriff auf Fenster aus versch. Klassen Java Basics - Anfänger-Themen 5
M Variablen Zugriff von außerhalb eines Blockes auf eine Variable innerhalb eines Blockes Java Basics - Anfänger-Themen 2
U Methoden Zugriff auf Array von weiterer Methode einer Klasse, Rückgabewert Problem Java Basics - Anfänger-Themen 5
B Klassen Zugriff auf Daten der Child-Klasse Java Basics - Anfänger-Themen 9
M Zugriff auf Klasse Java Basics - Anfänger-Themen 2
K Zugriff auf C: Java Basics - Anfänger-Themen 5
S Das richtige Format für den SOAP Zugriff Java Basics - Anfänger-Themen 0
S Klassen Zugriff auf Attribute einer zweiten Klasse, welche durch dritte gesettet wurden? Java Basics - Anfänger-Themen 2
N Zugriff bei Package Struktur Java Basics - Anfänger-Themen 6
M Enum: Zugriff auf Konstanten Java Basics - Anfänger-Themen 7
V Zugriff auf jProgressbar Java Basics - Anfänger-Themen 10
B Zugriff auf csv-Datei per hashmap Java Basics - Anfänger-Themen 5
G Spalte in JTable unsichtbar machen, Zugriff auf Daten ermöglichen Java Basics - Anfänger-Themen 2
T ZUgriff auf 'Werte' Java Basics - Anfänger-Themen 3
J Vererbung Zugriff auf private Variable Java Basics - Anfänger-Themen 10
C Klassen Zugriff auf Objekt anderer Klasse Java Basics - Anfänger-Themen 8
B Methoden Zugriff auf Variable ermöglichen Java Basics - Anfänger-Themen 3
D Kein Zugriff auf JFrame Java Basics - Anfänger-Themen 2
K Zugriff einer Klasse auf eine andere Andere -> bad operand for binary operator Java Basics - Anfänger-Themen 5
B Erste Schritte Array-Zugriff Java Basics - Anfänger-Themen 10
D OOP Zugriff auf Objekte A in Klasse A aus Objekt B in Klasse B Java Basics - Anfänger-Themen 3
T Collections Zugriff auf Elemente aus Iterator() Schleife Java Basics - Anfänger-Themen 4
J Threads Zugriff auf Attribute Java Basics - Anfänger-Themen 16
N Kein Zugriff auf Ordner -> NullPointerException Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben