Methodenaufruf anderer Klasse

Gerlon

Aktives Mitglied
Guten Tag,

ich hänge zur Zeit an dem Problem das ich nicht wirklich weiß wie ich eine nicht statische Methode einer anderen Klasse richtig aufrufe. Schon ein paar Dinge versucht bisher ohne Erfolg.
Ich weiß das man ein Objekt braucht.

Java:
	public int kontoHinzufuegen(Konto neuKonto){
		if (kontoExistiert(neuKonto)== true){
			return -1;
		}
		else {
	konten.add(neuKonto);
	return neuKonto.getKontonummer();
		}

Das ist eine Methode in der Klasse Bank.

Diese möchte ich nun aufrufen ich habe vorher schon der Klasse Konto eine Kontonummer zugewiesen.
Welche diese Methode sich dann holt, hoffe ich zumindest.

Nun ist meine Frage wie rufe ich diese Methode "kontoHinzufuegen" in der Main einfach auf das sie mir den Wert ausgibt insofern das überhaupt stimmt was ich da bisher habe^^
 

Schandro

Top Contributor
mach ne Instanz von
Code:
Bank
und ruf darauf
Code:
kontoHinzufuegen
auf. Als Parameter übergibst du eine Instanz von
Code:
Konto
.
 

Gerlon

Aktives Mitglied
Vielleicht sieht ja jemand warum x hier = -1 ist
Habe vorher in einer anderen Methode nämlich eine Kontonummer hinzugefügt und versuche gerade diese dann wieder zu löschen, was bisher aber nicht funktioniert.

Vielleicht ist das adden doch falsch, bin mir nicht sicher, nur warum würde er wenn ich diese 2x ausführe -1 liefern und somit müsste das speichern ja funktioniert haben.

Java:
	public int kontoHinzufuegen(Konto neuKonto){
		if (kontoExistiert(neuKonto)== true){
			return -1;
		}
		else {
		
	konten.add(neuKonto);
	
	return neuKonto.getKontonummer();
		}
		
	}
bei der 1. Mehthode gibt er -1 wieder wenn er die Nummer schon gespeichert hat. Was funktionierte.
Bei der Löschen Methode aber findet er den Index dazu nicht.
Somit kommt immer False.

Java:
	public boolean kontoLoeschen(int kontonummer){
		
		
		
		int x = findeKontoIndex(kontonummer); // hier der Aufruf der -1 liefert
		
		if (x > 0){
		x= x -2;
		
		konten.remove(x);
		konten.remove(x+1);
		konten.remove(x+2);
		konten.remove(x+3);
		
			if ( findeKontoIndex(kontonummer) == -1) return true; System.exit(0);
		}
		return false;
}


	private int findeKontoIndex(int kontonummer){
		for(int i = 0;i<konten.size();i++){
			if(konten.get(i).getKontonummer() == kontonummer){
				return i;
			}
		}
		return -1;
	}
	}
 
Zuletzt bearbeitet:

Schandro

Top Contributor
Poste mal den gesamten Code.

Übrigens:
Java:
if ( findeKontoIndex(kontonummer) == -1) return true; System.exit(0);
Ist eine sehr verwirrende Schreibweise. Schreib das ganze lieber so:
Java:
if (findeKontoIndex(kontonummer) == -1) {
  return true;
}
else {
  System.exit(0);
}

wobei es viel mehr Sinn machen würde eine Exception zu schmeissen anstatt die ganze Application zu terminieren...
 

Gerlon

Aktives Mitglied
hatte sich alles schon geklärt
das war nur weil ich dachte der würde nachdem true noch false liefern da das ohne else war aber geht ja auch ohne
allgemein ist der Code da nicht annähernd mehr aktuell ^^
 

Gerlon

Aktives Mitglied
Habe mal etwas weiter gearbeitet an dem Programm und stoße mal wieder an meine Grenzen bezüglich einer Übergabe.
Damit möchte ich die in der oben erstellten Methode gespeicherten Objekte ausgeben.
In dem Fall nur die kontonummer und den nachnamen

Java:
	public String toString() {
		String x1="";
		String x2="";
		for ( int i = 0; i < konten.size();i++){
			x1=Integer.toString(konten.get(i).getKontonummer());
			//x = konten.get(i).getbesitzer(); 
			x2= x2 + "  " + x1;
		}
		return x2;
	}

Die klasse Konto sieht so aus. Diese Werte habe ich in einer Liste gepeichert.

Java:
public Konto(double kontostand, Person besitzer, int kontonummer,int bankleitzahl)

Klasse Person besitzt den Vor-und Nachnamen und den Nachnamen möchte ich ausgeben.
Leider weiß ich nicht wie ich nun da besitzer ja die Klasse Person verwendet das ausdrücken soll.
Vielleicht hat jemand auch noch eine Idee für eine bessere Speicherung in einen String, der sieht bisher nicht so schön aus aber funktioniert immerhin schon mal für die Kontonummern und hat auch erstmal nicht Priorität.
 
Zuletzt bearbeitet:

imillitay

Mitglied
Vor- und Nachnamen hast du ja wahrscheinlich als private Variablen in deiner Personen-Klasse angelegt. Eine Getter-Methode in dieser Klasse kann dir die Namen liefern:

Java:
public String getVorname() {
  return vorname; // oder wie auch immer deine variable heißt
}

// das ganze analog dann für den nachnamen

Diese Methode kannst du jetzt auf einer Instanz deiner Personen-Klasse aufrufen:
Java:
String ergebnis = person.getVorname(); // wenn person eine Instanz einer Personen-Klasse ist

Den Rest solltest du dir selber zusammenbasteln können :)
 

Gerlon

Aktives Mitglied
hm da meint er er kann keinen statischen Aufruf bei einer nicht statischen Methode machen
Genauso muss ich das ja auch noch abhängig von der Liste machen, so wie bei der Kontonummer
Java:
private ArrayList<Konto> konten = new ArrayList<Konto>();
welche das ist
 
Zuletzt bearbeitet:

X5-599

Top Contributor
Verstehe ich nicht ganz. Du hast doch schon das jeweils richtige Konto Objekt. Dieses hat seinen Besitzer als Attribut (Person Objekt). Da braucht doch die Konto Klasse nur eine Getter Methode die das Person Objekt return't.
 

Gerlon

Aktives Mitglied
Habs hinbekommen, danke an Alle.
Hatte einfach zu kompliziert gedacht ^_^ Liegt ja eigentlich auf der Hand ;)
 
Zuletzt bearbeitet:

Gerlon

Aktives Mitglied
Eine Frage hätte ich aber noch ist zwar nicht passend zum Thema aber vielleicht hilft mir ja trotzdem jemand
Warum funktionieren returns bei Bedingungen nicht?

ich habe zum Beispiel eine Methode welche diese beiden Bedingungen überprüft und ein Boolean Wert returnen soll!
Damit ist ja alles abgedeckt warum will er trotzdem noch ein return Wert wenn er zu diesem eigentlich nie kommt, habe den einfach gesetzt aber an sich ist dieser ja Sinnlos.

Java:
if ( x < 0) return false;

Java:
if (absender.getKontostand() == x && empfaenger.getKontostand() == y) return true;
 

Gerlon

Aktives Mitglied
Und wie macht man das sonst, heißt das es fehlt noch eine Bedingung oder soll ich das einfach so lassen habe einfach nach den Bedingungen return false gemacht
dadurch funktionierte bisher eigentlich alles
 

Gerlon

Aktives Mitglied
Java:
	public boolean ueberweisen(Konto absender,Konto empfaenger,double betrag){
		double x = absender.getKontostand();
		double y = empfaenger.getKontostand();
		x = x - betrag;
		if ( x < 0) return false;
		absender.setKontostand(x);
		
		y = y + betrag;
		empfaenger.setKontostand(y);
		
		
		if (absender.getKontostand() == x && empfaenger.getKontostand() == y) return true;
		
		return false;
	
	}

ich könnte wahrscheinlich einfach die 2. Bedingung weglassen und return true machen aber fand das irgendwie besser, mit einer Überprüfung.
 
Zuletzt bearbeitet:

Michael...

Top Contributor
der soll ich das einfach so lassen habe einfach nach den Bedingungen return false gemacht
Grundsätzlich ist nichts verkehrt daran, einen Default Rückgabewert zu definieren.
In Deinem Fall könnte, wenn es sonst keine anderen Fälle zu berücksichtigen gibt eine Zeile ausreichen:
Java:
return x >=0 && absender.getKontostand() == x && empfaenger.getKontostand() == y;
 

Gerlon

Aktives Mitglied
Das Problem war warum ich 2 genommen habe, das er ja die Überweisung dann nicht machen soll.
Es sollte ja kein negativer Wert auf dem Konto vorhanden sein. Und wenn ich am Ende nur überprüfe ob die Überweisung korrekt war,so wie du sie geschrieben hast, hat er die Werte ja trotzdem geändert.
Da lag mein Problem.

Aber mit dem return anstatt der Bedingung war gut.

habs jetzt so gemacht
oben der ergibt nachwievor false so spar ich mir einen return wert.
dieser ergibt ja immer true
Java:
return absender.getKontostand() == x && empfaenger.getKontostand() == y;
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Methoden g.setColor funktioniert nicht bei Methodenaufruf in anderer Klasse Java Basics - Anfänger-Themen 1
L Methodenaufruf aus anderer Klasse Java Basics - Anfänger-Themen 5
C Methodenaufruf mit geänderten Argumenten Java Basics - Anfänger-Themen 10
S Methoden Methodenaufruf rekursiv zählen Java Basics - Anfänger-Themen 4
N methodenaufruf for each geht nicht Java Basics - Anfänger-Themen 2
K Methodenaufruf /-ausgabe Java Basics - Anfänger-Themen 5
O Methodenaufruf Java Basics - Anfänger-Themen 5
V Neue Ausgabe von toString nach Methodenaufruf Java Basics - Anfänger-Themen 9
Queiser Methodenaufruf Java Basics - Anfänger-Themen 2
J Vererbung und Methodenaufruf Java Basics - Anfänger-Themen 11
I Java Methodenaufruf Java Basics - Anfänger-Themen 9
A OOP Methodenaufruf in einer anderen Klasse Java Basics - Anfänger-Themen 2
G Methoden Probleme beim Methodenaufruf Java Basics - Anfänger-Themen 2
M Methodenaufruf über SQL UPDATE Java Basics - Anfänger-Themen 8
M Methodenaufruf in der Main Datei funzt nicht Java Basics - Anfänger-Themen 13
BadBat Klassen instanz als variable + methodenaufruf Java Basics - Anfänger-Themen 4
M Methodenaufruf in Methode Java Basics - Anfänger-Themen 6
M Objekt Name für MethodenAufruf nachträglich zuweisen? Java Basics - Anfänger-Themen 2
J if() mit Methodenaufruf kombiniert (Pixelerkennung) Java Basics - Anfänger-Themen 3
A Probleme beim Methodenaufruf von Object[] ! Java Basics - Anfänger-Themen 12
A Probleme beim Methodenaufruf von char[] ! Java Basics - Anfänger-Themen 10
T Rekursiver Methodenaufruf funktioniert nicht Java Basics - Anfänger-Themen 7
M Methoden Methodenaufruf allgemein Java Basics - Anfänger-Themen 3
H Ist Math.Random() eine Methode oder ein Methodenaufruf (Klausurfrage) Java Basics - Anfänger-Themen 4
O Methodenaufruf Java Basics - Anfänger-Themen 6
F Methodenaufruf Java Basics - Anfänger-Themen 1
F Erste Schritte Label Text vor Methodenaufruf setzen Java Basics - Anfänger-Themen 17
J Array mit Methodenaufruf Java Basics - Anfänger-Themen 2
S Problem bei Vererbung und Methodenaufruf Java Basics - Anfänger-Themen 3
OnDemand Methodenaufruf Java Basics - Anfänger-Themen 3
A Methoden Benutzerdefinierter Methodenaufruf Java Basics - Anfänger-Themen 4
O Methodenaufruf - Inhaltsveränderung Java Basics - Anfänger-Themen 23
L Einfacher Methodenaufruf vs. Objekt Java Basics - Anfänger-Themen 4
O Methodenaufruf im Konstruktor Java Basics - Anfänger-Themen 6
G was ist ein Methodenaufruf mit (){}? Java Basics - Anfänger-Themen 6
S Methoden Klassen Definition - Methodenaufruf Java Basics - Anfänger-Themen 7
K Methoden Methodenaufruf für BufferedWriter .. Java Basics - Anfänger-Themen 5
feardorcha Methodenaufruf Übergabe- und Rückgabewert Java Basics - Anfänger-Themen 5
W Methodenaufruf innerhalb einer Klasse - static vs. this Java Basics - Anfänger-Themen 3
A Problem bei Methodenaufruf Java Basics - Anfänger-Themen 6
B Parameterausführung bei Methodenaufruf Java Basics - Anfänger-Themen 8
A Methodenaufruf Java Basics - Anfänger-Themen 4
P Vererbung Methodenaufruf funktioniert aber Wertzuweisung von Variablen nicht Java Basics - Anfänger-Themen 9
S methodenaufruf Java Basics - Anfänger-Themen 8
G Erste Schritte Methodenaufruf, Variablen-Deklaration Java Basics - Anfänger-Themen 6
L Methodenaufruf in main() Java Basics - Anfänger-Themen 3
M Methodenaufruf in for-Schleife - nur 1 mal ausgegeben Java Basics - Anfänger-Themen 3
I Externer Methodenaufruf, Punkt-Notation Java Basics - Anfänger-Themen 11
I Methoden Rückverfolgung Methodenaufruf Java Basics - Anfänger-Themen 15
E Methoden Wie kann ich eine Methode so schreiben, dass Methodenaufruf polymorph erfolgen kann? Java Basics - Anfänger-Themen 8
M Methoden Methodenaufruf mit .class. Java Basics - Anfänger-Themen 2
J rekursiver Methodenaufruf Java Basics - Anfänger-Themen 12
K Klassen this-Referenz und Klassen/Methodenaufruf Syntax Java Basics - Anfänger-Themen 3
T Java mehrfacher Methodenaufruf Java Basics - Anfänger-Themen 15
B Quicksort --> Methodenaufruf Java Basics - Anfänger-Themen 10
O Methodenaufruf Java Basics - Anfänger-Themen 4
A nullPointerException bei Methodenaufruf Java Basics - Anfänger-Themen 16
J Vererbung, Methodenaufruf Java Basics - Anfänger-Themen 4
M Problem bei Methodenaufruf aus ActionListener Java Basics - Anfänger-Themen 5
G Methodenaufruf aus der Kommandozeile Java Basics - Anfänger-Themen 28
N Methodenaufruf funtioniert nicht Java Basics - Anfänger-Themen 3
C Methodenaufruf mit Variablen die gesetzt werden Java Basics - Anfänger-Themen 10
Antoras mit ActionListener/Methodenaufruf Textfelder zeichnen Java Basics - Anfänger-Themen 4
G Dynamischer Methodenaufruf Java Basics - Anfänger-Themen 3
G Methodenaufruf über ein Objekt einer anderen Klasse Java Basics - Anfänger-Themen 7
H ungültige methodenaufruf Java Basics - Anfänger-Themen 16
G Methodenaufruf Java Basics - Anfänger-Themen 3
G Frage zu Oberklasse bei Methodenaufruf Java Basics - Anfänger-Themen 2
V Dynamischer Klassen bzw. Methodenaufruf Java Basics - Anfänger-Themen 6
V Wie und wieso geht dieser Methodenaufruf? Java Basics - Anfänger-Themen 2
S Methodenaufruf Java Basics - Anfänger-Themen 6
G Methodenaufruf in der for-Schleife mit Array Java Basics - Anfänger-Themen 7
L hsqldb Methodenaufruf Java Basics - Anfänger-Themen 10
K synchron und asynchroner Methodenaufruf Java Basics - Anfänger-Themen 17
R Fehler bei Methodenaufruf Java Basics - Anfänger-Themen 2
G Methodenaufruf Java Basics - Anfänger-Themen 3
T NullPointerException bei Methodenaufruf Java Basics - Anfänger-Themen 2
G Methodenaufruf Java Basics - Anfänger-Themen 10
K Klassenübergriefendes Methodenaufruf Problem Java Basics - Anfänger-Themen 6
S methodenaufruf. Java Basics - Anfänger-Themen 16
G methodenaufruf Java Basics - Anfänger-Themen 4
E Methodenaufruf mittels variable? kA Java Basics - Anfänger-Themen 5
G methodenaufruf Java Basics - Anfänger-Themen 3
G methodenaufruf Java Basics - Anfänger-Themen 5
W Überschreiben und Methodenaufruf Java Basics - Anfänger-Themen 3
L Methodenaufruf zwischen Klassen Java Basics - Anfänger-Themen 3
C Methodenaufruf mit throws IOException Java Basics - Anfänger-Themen 2
MoxMorris Wie macht man String[] = String[] aus einer anderer Methode? Java Basics - Anfänger-Themen 18
N Klassen Methoden anderer Klassen aufrufen Java Basics - Anfänger-Themen 4
M variable in anderer funktion aufrufen Java Basics - Anfänger-Themen 10
julian0507 Array aus Methode in anderer Methode sichtbar machen Java Basics - Anfänger-Themen 10
Encera Auf Objekte aus anderer Klassen zugreifen Java Basics - Anfänger-Themen 20
T Zugriff auf Control anderer Klasse Java Basics - Anfänger-Themen 5
D Array in Main Methode aus anderer Klasse aufrufen Java Basics - Anfänger-Themen 3
J Fehler bei array aus anderer Klasse Java Basics - Anfänger-Themen 3
R TreeSet Zugriff aus anderer Klasse Java Basics - Anfänger-Themen 8
M Von einem Menü Methode aus anderer Klasse ausführen, die errechnete Werte in Datei schreibt. Java Basics - Anfänger-Themen 8
KogoroMori21 Objektvariable anderer Klasse übernehmen, Getter/Setter Java Basics - Anfänger-Themen 11
J In main() Datei geöffnet, von anderer Funktion beschreiben Java Basics - Anfänger-Themen 3
Q Besitzen zwei Strings identische Buchstaben, nur in anderer Reihenfolge? Java Basics - Anfänger-Themen 10

Ähnliche Java Themen

Neue Themen


Oben