Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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?

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

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

 

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.

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

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.