Zum Inhalt springen

Anfänger - Probleme Mit Strings vergleichen


Empfohlene Beiträge

Geschrieben

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 :)

Geschrieben

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

Geschrieben

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

Geschrieben

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".

Geschrieben

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?

Geschrieben

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

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...