Ausgabe an der Konsole

ataberlin

Mitglied
Hallo,
bin neu hier und hoffe auf Unterstützung:)
Und zwar habe ich das Problem, dass ich die Vielfache berechnen muss von zwei Zahlen unter 1000. So weit, so gut. Das Problem ist, dass die Ausgabe an der Konsole auch die Zahlenreihe bzw. die ganzen Vielfachen nacheinander auflisten soll und die Werte, die eingelesen werden, ausgegeben werden sollen. Ich schaffe es nicht wert1, wert2 ud die ganzen Vielfachen die vorkommen auszugeben. :(

Vielen lieben Dank im Voraus!!!

Das habe ich bis jetzt:

import Prog1Tools.*;

public class Rechnen {

public int vielfacheZwei() {

int wert1 = IOTools.readInt("Geben Sie den ersten Wert ein:");
int wert2 = IOTools.readInt("Geben Sie den zweiten Wert ein:");
int summe = 0;
for (int i = 0; i < 1000; i++) {
if (i % wert1 == 0 | i % wert2 == 0) {
summe += i;
}

}
return summe;
}

public static void main (String [] args){

Rechnen a = new Rechnen();

System.out.println("Alle Vielfachen von" + wert1 + "oder" + wert2 + "unter 1000 sind:" (hier muss die Zahlenreihe) + "und die Summe ist: " + a.vielfacheZwei());
}

}
 

Robat

Top Contributor
Sollen nur die vielfachen ausgegeben werden die vielfache von a und b sind? Oder sollen beide Reihen einzeln ausgegeben werden?
 

Elenteria

Bekanntes Mitglied
Ahoi,
Also dein Problem ist das deine Methode zuviel auf einmal zurückgeben muss, nämlich die Eingaben, die Liste mit den Vielfachen und die Summe.
Du solltest dein Programm anders aufteilen dann ist die Sache schon wesentlich einfacher.
Du hast hier 3 Teilaufgaben
1. Zahlen einlesen
2. Liste mit allen Vielfachen berechnen.
3. Summe Berechnen.
(4. Ausgabe auf die Konsole)
Wenn du für jede dieser Teilaufgaben eine eigene Methode schreibst wird dir sicher einiges klarer.
 

Robat

Top Contributor
Sagt ja niemand dass die Vielfachen in einer Liste gespeichert werden sollen. Reicht ja wenn die Vielfachen ausgegeben werden ;)
 

ataberlin

Mitglied
Also zum Beispiel wenn man 3 und 5 eingibt sollen ja von den die vielfachen berechnet werden.
In der Ausgabe müsste dann stehen
Alle Vielfachen von 3 und 5 unter 1000 sind: 3,5,6,9,10,12,15,18,20,23,25,28,30 usw. und die Summe ist :
 

Robat

Top Contributor
Okay. Und mit summe ist die Summe der einzelnen Vielfachen gemeint, richtig?
Ist der Aufbau der Klasse so vorgegeben? Du hast in der main-Methode nämlich kein Zugriff auf die eingegeben Zahlen.. daher kannst du sie dort auch nicht ausgeben lassen.
Sicherlich wäre es besser die Zahlen in der main-Methode einzulesen und diese der vielfacheZwei() Methode zu übergeben.
 

ataberlin

Mitglied
Wie würde es denn gehen, dass ich die eingelesenen Werte von der main-Methode in die andere übertrage? Müsste sich dafür die Methode vielfacheZwei() ändern? Müssten Parameter rein oder reicht es die ersten zwei Zeilen der vielfachenZwei()- Methode einfach in die Main-Methode „verschiebe“?
 

Robat

Top Contributor
Du müsstest der vielfacheZwei() Methode 2 Parameter geben, die 2 Zahlen in die main-Methode verschieben und dann die Methode wie folgt aufrufen: vielfacheZwei(zahl1, zahl2);
 

Robat

Top Contributor
Das müsstest du eigentlich wissen.. Ich kenne die Aufgabe nicht. :D

Meiner Meinung nach soll die Methode die Vielfachen ausgeben und die Summe zurück geben.
 

ataberlin

Mitglied
Naja die vielfacheZwei() Methode ist ja von mir. Das Problem ist halt die Ausgabe an der Konsole, dass da die Zahlenreihe fehlt. Ich krieg das nicht mit System.out.println auf die Reihe. Glaube weil die Methode-vielfacheZwei nur die Summe zurückgibt und ich die anderen Werte somit nicht in dieMain-Methode reinkriege. Mir fehlt für die Vervollständigung der Aufgabe lediglich der Schritt um alle Vielfachen von den eingelesen Zahlen auszugeben und am Ende muss die Summe der Vielfachen stehen. Letzteres bekomme ich ja hin. Davor den Teil leider nicht, bin auch leider erst ein Java-Anfänger.
 

Robat

Top Contributor
Sagt ja keiner dass die Vielfachen gespeichert / zurück gegeben werden müssen oder?
Gib die vielfachen doch direkt aus.
 

Robat

Top Contributor
Hier mal bisschen Pseudocode:
Code:
vielfacheZwei(a : int, b : int) : int
     summe : int
     print 'Vielfachen von ' + a + ' und ' + b + ' sind: '
     FOR i = 0 TO 100
         IF i mod a AND i mod b
             summe += i;
             print i + ' '
     return summe
 

ataberlin

Mitglied
Wenn ich es so Ausgebe steht da allerdings in der Konsole:
Vielfachen von 3 und 5 sind: '0, 3, 5, 6, 9, 10, 12, 15, 18, 20,......., 233168

Da müsste stehen :
Vielfachen von 3 und 5 sind: '0, 3, 5, 6, 9, 10, 12, 15, 18, 20,......., und die Summe ist: 233168

Allerdings weiß ich nicht wo ich dies einzufügen habe... Ich hab das versucht und da wurden allerdings nacheinander die Zahlen addiert.
So sah es aus was ich eingefügt habe: System.out.print("und die Summe ist: + summe);

Java:
public class test {

    public int vielfacheZwei(int a, int b) {
       
       
        int wert1 = IOTools.readInt("Geben Sie den ersten Wert ein:");
        int wert2 = IOTools.readInt("Geben Sie den zweiten Wert ein:");
        int summe = 0;
        System.out.print("Vielfachen von " + wert1 + " und " + wert2 +  " sind: '");
         for (int i = 0; i < 1000; i++) {
            if (i % wert1 == 0 | i % wert2 == 0) {
                summe += i;
                System.out.print(i + ", ");
                }
         }
         return summe;
         
    }     
   
   
   
         public static void main (String [] args){
             
            test a = new test();
             
            System.out.println(a.vielfacheZwei(0, 0));
             
           

         }

}
 

Robat

Top Contributor
Java:
test a = new test();
int wert1 = IOTools.readInt("Geben Sie den ersten Wert ein:");
int wert2 = IOTools.readInt("Geben Sie den zweiten Wert ein:");
int summe = a.vielfacheZwei(wert1, wert2);
System.out.println(" und die Summe ist: " + summe);
 

Neue Themen


Oben