Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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?

Geschrieben (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 von Ulfmann
Geschrieben

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;
        }
}
   

 

Geschrieben

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.

Geschrieben

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.

Geschrieben

Ä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.

  • 5 Wochen später...
Geschrieben
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?

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...