Veröffentlicht 20. Oktober 20159 j 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?
20. Oktober 20159 j Autor Warum denn überhaupt 2 Methoden?weil ich kein plan hab wie ich das in eine bekomme. eventuell mit do while? oder einer anderen schleife?
20. Oktober 20159 j 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 20159 j von Ulfmann
20. Oktober 20159 j Autor 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; }}
20. Oktober 20159 j 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.
20. Oktober 20159 j Autor 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.
20. Oktober 20159 j Ä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.
19. November 20159 j 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?
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.