Array-Ausgabe

Status
Nicht offen für weitere Antworten.
was für ein hashcode? Da sind weit und breit keine hashcodes zu sehen. Das würde vom Typ her auch nicht passen.
 
als ausgabe auf der konsole erscheint:
[I@61de33
anstatt dem eigentlichen Wert der auch gespeichert und vorhanden ist. das wurde in einer anderen Methode schon getestet. Ich bekomm das nur mit der Arrayausgabe nicht hin....
 
Die anderen Methoden sind für die Problemlösung nicht relevant
als ausgabe auf der konsole erscheint:
du hast in dem code stück nix auf die konsole ausgegeben

Code:
Hashcode anstatt dem eigentlich wert zurückgegeben
ahh und das wirst du ausgeben... du gibst also dein int[] aus...
nein! du gibst nicht den hashcode aus, du gibst das array aus und das wird durch den Hashcode repräsentiert...
welchen wert willst du den, das java ausgibt? den ersten? alle?

Arrays.toString() ... wird dir helfen...
 
Muss ich dazu die toString-Methode überschreiben?
Weil du in () ja noch "array" drin stehen hast und die "normale" toString-Methode ja nichts in () stehen hat...?
 
Code:
	public String toString(){
		return getQuantNec().toString(); 
	}

klappt das damit als Ergänzung zu dem oben genannten?
Denn mit der "normalen" toString-Methode klappt es nicht!
 
Code:
	public String toString(){
		return getQuantNec().toString(); 
	}

klappt das damit als Ergänzung zu dem oben genannten?
Denn mit der "normalen" toString-Methode klappt es nicht!

was soll das? ich nehm mal an, dass das ein faschings scherz ist ;-)

ALTER!!!!! die toString methde eines arrays gibt dir den hashcode zurück, hatten wir das nicht bereits!!!!

Arrays.toString verwenden oder selber was schreiben!!!
 
Arrays.toString(int[] array) benötigt keine weiteren toString()-methoden, wie man integer brauchst du java nicht zum zweiten mal zu erzählen. Ich finde es aber schöner, wenn einfach jedes Objekt immer eine toString() methode sinnvoll überschreibt, falls man mal zwischendurch was ausgeben will...

Außerdem rate ich davon ab mit arrays rumzuhantieren, wenn du genausogut Collections verwenden kannst. "Entweder das eine oder das andere" ist irgendwie besser, da beißen sich die Dinger nicht so oft. Tuen die eigentlich sonst auch nicht wirklich, aber da muss man mehr aufpassen.
 
wie wende ich die Methode denn richtig an?
Ich bekomme es auch durch zahkreiches ausprobieren nicht hin!
Sorry, auch wenns nervig ist und ich da vll. en bissel aufm Schlauch stehe wäre ich dankbar für eure Hilfe!
 
Wenn du irgendwelchen Mist wie
[I&§%$xyz123
auf dem Bildschirm stehen hast, dann wirst du ja wohl irgendwo
Code:
System.out.println(myIntegerArray);
aufgerufen haben?

Ersetze die zeile einfach nur durch
Code:
System.out.println(Arrays.toString(myIntegerArray));
dann sieht's hübsch aus, etwa wie
[1,2,3,123]
 
Und wie gehe ich nun vor, wenn ich mit einem einzelnen Wert rechnen will? Den muss ich dann ja z.bsp durch eine for-Schleife herausholen, oder?
 
warum kann ich dann nicht schreiben:

Code:
	for (int z = 0; z < this.recipes.get(c)
			.getIngredientsSize(); z++) {
			System.out.println(Arrays.toString(this.recipes.get(c).getQuantNec(z)));

Da bringt er mir die Fehlermeldung bei "...getQuantNec(z)))" da in der Methode ja für die () nichts definiert ist.
Wie kann ich das Problem beheben?
 
1.
denken
2.
Zwischenvariablen anlegen, hilft bei 1.

schreib doch mal
Code:
Recipe r = this.recipes.get(c);
int[] quantArray = r.getQuantNec();
for (int z = 0; z < r.getIngredientsSize(); z++) {
    System.out.println(Arrays.toString(quantArray));
}
schon kann man gar nicht mehr auf Idee kommen, völlig fern von allen Java-Realitäten unbekannte Parameter herbeizuzaubern

für ein einzelnes Array-Element brauchst du Arrays.toString() überhaupt nicht mehr, die logischste Sache der Welt,

so und wie greift man auf ein Array-Element zu? hättest du auch schon vor Monaten in den aller untersten Grundlagen lernen sollen

Code:
Recipe r = this.recipes.get(c);
int[] quantArray = r.getQuantNec();
for (int z = 0; z < r.getIngredientsSize(); z++) {
    System.out.println(quantArray[z]);
}
statt r.getIngredientsSize(); kannst du dann auch quantArray.length schreiben,
wie bei jedem normalen Array-Durchlauf
 
Was wolltest du mit diesem code denn erreichen?
Wie kann ich das Problem beheben?
Dir erstmal klar machen was du eigentlich machen willst. Chaotisches Einsetzen von irgendwelchen Codestücken in irgendwelche Klammern führt womöglich früher oder später auch zum "erfolg", dafür würde ich aber Zeiträume der Größenordnung 10^56 Jahre einplanen^^
 
ich sehe da nur, dass du schon wieder 4x this.ingredient.get(f) hast, statt einmal eine Variablen indy zu definieren, oder was das für ein Typ ist,

der Rest liegt relativ im dunkeln,
gib alle Werte vor den Rechnungen aus, was genau wann wie wieso wieoft addiert oder subtrahiert wird
und das Endergebnis,
dann dürfte alles klar sein, extern kann da bisher kaum einer was zu sagen


> Recipe x = this.recipes.get(c);
> if (mixAskingUser().equalsIgnoreCase(x.getName())) {
> System.out.println("Recipe exists!");
> for (int f = 0; f < this.ingredient.size(); f++) {
> Recipe r = this.recipes.get(c);


x == r ?!
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben