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?
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?
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
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; }}
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.
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.
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.
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?
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden