antenne Geschrieben 20. Oktober 2015 Geschrieben 20. Oktober 2015 Hallo habe ein kleines Problem. Ich möchte 3 Zahlen multiplizieren aber eben nicht mit a*b*c sondern durch Schleifen. Meine Idee sah wie folgt aus:import java.util.Scanner;public class AdditionStattMultiplikation { public static void main(String[] args) { Scanner s= new Scanner (System.in); int zahl1=s.nextInt(); int zahl2=s.nextInt(); int zahl3=s.nextInt(); int ergebnis = ergeb(zahl1,zahl2); int ergebnis2 = ergeb2 (ergebnis, zahl3); System.out.println(ergebnis);} static int ergeb (int zahl1, int zahl2){ int lösung = 0; for (int i = 0; i < zahl2; i++){ lösung += zahl1; }} static int ergeb2 (int ergebnis, int zahl3){ int lösung2= 0; for (int i = 0; i<zahl3;i++) lösung2 += ergebnis; return lösung2; }} Problem hierbei ist, das die erste Methode einen return Wert haben will, aber dadurch wird nichts was danach kommt ausgeführt somit würde er bei 2*3*4 als Ergebnis 6 wiedergeben. Entferne ich den return Befehl und schreibe es wie hier zu sehen kommt ne Fehlermeldung.Kann man nicht 2 Methoden verwenden und das Ergebnis aus der ersten Methode der 2ten übergeben? Zitieren
Ulfmann Geschrieben 20. Oktober 2015 Geschrieben 20. Oktober 2015 Warum denn überhaupt 2 Methoden? Zitieren
antenne Geschrieben 20. Oktober 2015 Autor Geschrieben 20. Oktober 2015 Warum denn überhaupt 2 Methoden?weil ich kein plan hab wie ich das in eine bekomme. eventuell mit do while? oder einer anderen schleife? Zitieren
Ulfmann Geschrieben 20. Oktober 2015 Geschrieben 20. Oktober 2015 (bearbeitet) Ja, Schleife ist doch schon mal ein guter Ansatz. Und nun musst du dir überlegen, was du denn damit durchlaufen möchtest.(Edit) Hint: Du brauchst hier was, wo deine 3 Zahlen drin sind. Und das durchläufst du dann solange, wie noch Zahlen übrig sind. Was in der Schleife passieren soll, ist der einfachere Teil. Bearbeitet 20. Oktober 2015 von Ulfmann Zitieren
antenne Geschrieben 20. Oktober 2015 Autor Geschrieben 20. Oktober 2015 Ja, Schleife ist doch schon mal ein guter Ansatz. Und nun musst du dir überlegen, was du denn damit durchlaufen möchtest.(Edit) Hint: Du brauchst hier was, wo deine 3 Zahlen drin sind. Und das durchläufst du dann solange, wie noch Zahlen übrig sind. Was in der Schleife passieren soll, ist der einfachere Teil.oh man ich bin ein Held ... ich hatte bei System.out.println (ergebnis) drin stehen .... da muss natürlich ergebnis2 rein!. Aber ich werde es mal mit einer Methode versuchen. hier der Quellcode falls es wen interessiert mit 2 Methoden:import java.util.Scanner;public class AdditionStattMultiplikation { public static void main(String[] args) { Scanner s= new Scanner (System.in); int zahl1=s.nextInt(); int zahl2=s.nextInt(); int zahl3=s.nextInt(); int ergebnis = ergeb(zahl1,zahl2); int ergebnis2 = ergeb2 (ergebnis, zahl3); System.out.println(ergebnis2);} static int ergeb (int zahl1, int zahl2){ int lösung = 0; for (int i = 0; i < zahl2; i++) lösung += zahl1; return lösung;} static int ergeb2 (int ergebnis, int zahl3){ int lösung2= 0; for (int i = 0; i<zahl3;i++) lösung2 += ergebnis; return lösung2; }} Zitieren
Ulfmann Geschrieben 20. Oktober 2015 Geschrieben 20. Oktober 2015 Darauf wollte ich gar nicht hinaus. 1) Dein Ansatz ist von hinten durch die Brust ins Auge 2) du multiplizierst gar nicht.Schau dir mal an, wofür ein Array da ist und wie man dein Problem damit durch nur 1 Schleife lösen könnte. Zitieren
antenne Geschrieben 20. Oktober 2015 Autor Geschrieben 20. Oktober 2015 Darauf wollte ich gar nicht hinaus. 1) Dein Ansatz ist von hinten durch die Brust ins Auge 2) du multiplizierst gar nicht.Schau dir mal an, wofür ein Array da ist und wie man dein Problem damit durch nur 1 Schleife lösen könnte.hab mich vllt etwas blöd ausgedrückt. Es war ja das Ziel das Ergebnis ohne Multiplikation zu erhalten. ich hätte auch einfach ergebnis = zahl1*zahl2*zahl3; schreiben können aber wie gesagt das war nicht die Aufgabe. Zitieren
arlegermi Geschrieben 20. Oktober 2015 Geschrieben 20. Oktober 2015 Ähm, ergeb und ergeb2 machen doch genau dasselbe. Wieso hast du da zwei Methoden für geschrieben?Außerdem wäre es echt hilfreich, wenn du deinen Code etwas übersichtlicher formatieren könntest. Java hat da einige Standards, die sich durchgesetzt haben und die man berücksichtigen sollte. Zitieren
Nitzan Geschrieben 19. November 2015 Geschrieben 19. November 2015 Am 20.10.2015 10:39:00 , antenne sagte: oh man ich bin ein Held ... ich hatte bei System.out.println (ergebnis) drin stehen .... da muss natürlich ergebnis2 rein!. Aber ich werde es mal mit einer Methode versuchen. hier der Quellcode falls es wen interessiert mit 2 Methoden: import java.util.Scanner; public class AdditionStattMultiplikation { public static void main(String[] args) { Scanner s= new Scanner (System.in); int zahl1=s.nextInt(); int zahl2=s.nextInt(); int zahl3=s.nextInt(); int ergebnis = ergeb(zahl1,zahl2); int ergebnis2 = ergeb2 (ergebnis, zahl3); System.out.println(ergebnis2);} static int ergeb (int zahl1, int zahl2){ int lösung = 0; for (int i = 0; i < zahl2; i++) lösung += zahl1; return lösung;} static int ergeb2 (int ergebnis, int zahl3){ int lösung2= 0; for (int i = 0; i<zahl3;i++) lösung2 += ergebnis; return lösung2; } } Warum schreibst du die Methoden ergeb und ergeb2? Warum rufst du nicht zwei mal die selbe Methode auf? Zitieren
Empfohlene Beiträge
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.