Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hallo zusammen!

Ich mache seit einiger Zeit meine ersten Schritte in Sachen Java. SOO vieles ist noch unklar aber ich lerne täglich dazu. Als Unterstützung dient mir dabei dieses Tutorial: Java Tutorial interaktiv - Programmieren lernen mit Java

Nun bin ich dort bei einer Aufgabe 'Bankkonto'.

Ich denke der Code ist für erfahrene Leute nicht schwer zu lesen und man weiss schnell worum es geht.daher erläutere ich jetzt die einzelnen Schritte nicht.Mir geht es um eine spezielle Sache.

Hier erstmal der bisher fertige Code

import java.util.*;


class Konto {


	String inhaber;

	String kontonr;

	double kontostand;


	Konto(String strI, String strN, double k) {


		inhaber    = strI;

		kontonr    = strN;

		kontostand = k;				

	}


		void aktuell() {			

			System.out.println(kontonr + ": " + inhaber + "; " + kontostand + " Euro");

		}

			void einzahlen(double betragE) {

				kontostand = kontostand + betragE;

			}

				void auszahlen(double betragA) {

					kontostand = kontostand - betragA;

				}


}


public class Bankkonto {


	Konto konto1 = new Konto("Martin Meier", "123456789", 683.24);

	Konto konto2 = new Konto("Frank Schulz", "246808642", 1432.48);


	public static void main(String[] args) {


		Scanner sc = new Scanner(System.in);


		System.out.println("HERZLICH WILLKOMMEN!?");

		System.out.println("Bitte geben sie ihre Kontonummer ein.");

		String antwort = sc.next();

Der Benutzer soll jetzt seine Kontonummer eingeben und das dazu passende Konto soll gefunden werden.Wie mache ich das?Wie vergleiche ich den String vom Benutzer mit dem String der im Objekt konto1 zugewiesen wurde?Wenn ich die equals()_methode verwende (ist bisher die einzige mir bekannte Methode zum vergleichen von Strings)muss ich das ganze mit if/else anweisungen verbinden. Das ist aber viel schreibkram und bei vorgestellten 1000 oder mehr Konten absout ineffizient. Es gibt bestimmt einen besseren Weg. Vielleicht kann mir jemand von euch auf die Sprünge helfen. MfG :)

Wie vergleiche ich den String vom Benutzer mit dem String der im Objekt konto1 zugewiesen wurde?Wenn ich die equals()_methode verwende (ist bisher die einzige mir bekannte Methode zum vergleichen von Strings)muss ich das ganze mit if/else anweisungen verbinden.

Das ist auch die korrekte Methode, etwas anderes wird nicht so direkt funktionieren

Das ist aber viel schreibkram und bei vorgestellten 1000 oder mehr Konten absout ineffizient. Es gibt bestimmt einen besseren Weg. Vielleicht kann mir jemand von euch auf die Sprünge helfen. MfG :)

Stichworte wären: Schleife oder etwas eleganter eine Hashmap

Das ging ja fix. Danke für die schnelle Antwort. Hm, von einer Hashmap habe ich noch nichts gehört/gelesen. Ich habe mal was von Hashwerten gelesen in Zusammenhang mit Dateien. Aber ansonsten keinen blassen Schimmer.Werde mich mal damit beschäftigen.Was das Stichwort Schleife betrifft, da habe ich gerade eine Idee.Ich versuche das mal umzusetzen und melde mich dann wieder.bis dahin

Naja nehmen wir mal an Du hat 1.000.000 Datenobjekt und Du suchst genau eins, anhand der Kontonummer und dummerweise ist das Datenobjekt, was Du suchst das letzte, d.h. Du hast 999.999 Objekte "umsonst" geprüft.

Eine Hashmap ist eine "Art Sortierung", d.h. wenn Du nun ein neues Objekt in sie einfügst, dann geschieht das anhand eines Schlüssels, also dem Hash. Der Hash darf in der Map z.B. nur genau einmal vorkommen. Wenn Du nun also so eine Hashmap verwendest, dann würde Dein Hash eben die Kontonummer sein. Wenn Du nun eben zu der Kontonummer das passende Objekt suchst, dann sagst Du nur der Hashmap "gib mir das passende Objekt anhand der Kontonummer zurück".

also ich habe herrausgefunden das eine do_while schleife am geeignetsten wäre für diese Aktion.nur wie sage ich dem Programm jetzt das es die Variable 'kontonr' von jedem einzelnen Kontoobjekt solange durchsuchen soll bis er das richtige Objekt/Konto gefunden hat?denke ich bis hierhin richtig, stelle ich die richtigen Fragen?oder is das der falsche weg?

Ich merke das mein jetziges Wissen wohl noch nicht ausreicht. Ich weiss worauf es hinaus geht aber ich kann das noch nicht umsetzen. Eigentlich war die Sache mit dem Kontonummernvergleich gar kein Bestandteil der Aufgabe. Ich dachte nur das es praktisch wäre und ich das mit meinem jetzigen Wissensstand hinbekomme. Falsch gedacht. Nun gut, ich versuche ertsmal alles so hinzubekommen wie tatsächlich dort gefordert und baue die Sache später ein.

Ich werde hier bestimmt öfter mal reinschauen und Fragen haben.Superschnelle Antworten hier.Bin begeistert. :uli

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.