Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
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....
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?
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...?
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!
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
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);