Mit Java Rechnen

100hp4ever

Mitglied
Hallo,
ich habe ein Problem mit folgender Aufgabe. (im Anhang)
Ich benutze BlueJ. Das Problem ist, dass sich die Parameter x und y immer wieder auf 1 zurücksetzen und somit immer nur mit 3 und 5 addiert wird und nicht mit Vielfachen.
Java:
public class Aufgabe3 {
   public int a = 3;
   public int b = 5;
   public int sum = 0;
   private int x = 1;
   private int y = 1;

   public void zeigeVielfache() {
     while(sum < 1000) {
       System.out.println(sum = (a * x) + (b * y));
       if (a * x < b * y) {
         x++;
       } else {
         y++;
       }
     }
   }
}
 

Anhänge

  • Aufgabe.png
    Aufgabe.png
    29,6 KB · Aufrufe: 67
Zuletzt bearbeitet von einem Moderator:

njans

Top Contributor
Ich weß nicht, was du da in BlueJ machst, aber wenn du den code ausführst, dann kriegst du schon ergebnisse raus. Diese sind dann zwar falsch, aber das ist ein anderes Problem:

Du sollst die Summe berechnen, eine Schleife die sum<1000 als Bedingung hat, kann niemals die Summe berechnen. Auch deine If-Bedingung macht wenig Sinn.

Dabei ist das ganze recht einfach: zwei Schleifen
- Eine Schleife die alle Vielfachen von 3 Aufsummiert, die kleiner als 1000 sind
- Eine Schleife die alle Vielfachen von 5 Aufsummiert, die kleiner als 1000 sind

Das ganze in einer Variable sum gespeichert und ausgegeben, fertig.
 

100hp4ever

Mitglied
Hallo,
danke für deine Antwort. In der Aufgabe ist jedoch gefordert, dass die Vielfachen von 3 und 5 addiert nicht über 1000 ergeben dürfen und nicht jede Zahl für sich.
 

Joose

Top Contributor
dass die Vielfachen von 3 und 5 addiert nicht über 1000 ergeben dürfen und nicht jede Zahl für sich.

Nein, lies dir die Aufgabe nochmal durch ;)
Dort steht das du alle vielfachen von 3 und 5 unter 1000 summieren sollst.
Nicht das Ergebnis soll unter 1000 bleiben sondern die Vielfachen, sprich die Letzte Zahl welche du addierst wird "999" sein (da ein Vielfaches von 3 und unter 1000)
 

100hp4ever

Mitglied
Okay, ich habs jetzt verstanden :)
Ich habe gerade eine Schleife für die Vielfachen von 3 und 5 geschrieben.
Java:
public void Vielfache5(){
  for (int y=1; 5*y<1000; y++);
  }

  public void Vielfache3() {
  for (int x=1; 3*x<1000; x++);
  }


Jetz müssen die Vielfachen nur noch addiert und ausgegeben werden. Ich weiß leider gerade nicht wie ich das machen kann.
 
Zuletzt bearbeitet von einem Moderator:

100hp4ever

Mitglied
Ist die Aufgabe so richtig gelöst ?
Java:
public class Aufgabe3 {
 public int a=3;
 public int b=5;
 public int c=1000;
 public int sum=0;
 public int y=1;
 public int x=1;

 public void zeigeVielfache() {
 for (int y=1; b*y<c; y++)
 //Bestimme alle Vielfachen von 3
 for (int x=1; a*x<c; x++)
 //Bestimme alle Vielfachen von 5
 System.out.println ((sum=a*x)+(sum=b*y));
 //Gebe alle möglichen Additionen der Vielfachen von 3 und 5 aus z.b. a*3+b*1
 }
}
 
Zuletzt bearbeitet von einem Moderator:

Joose

Top Contributor
Ist die Aufgabe so richtig gelöst ?

Du könntest den Code natürlich ausprobieren dann wüsstest du doch ob es funktioniert ;)
Aber nein das wird nicht funktionieren!

Einerseits weiß ich nicht ob dir klar ist das deine Anweisungen verschachtelt sind. Sprich du hast in deiner for-Schleife eine weitere for-Schleife.

Ich habe gerade eine Schleife für die Vielfachen von 3 und 5 geschrieben.
Java:
public void Vielfache5(){
  for (int y=1; 5*y<1000; y++);
  }

  public void Vielfache3() {
  for (int x=1; 3*x<1000; x++);
  }

Ja das Problem ist aber das du manche Werte doppelt verwendest.
Zum Beispiel die Zahl 15 oder 30. Die beiden Zahlen sind jeweils ein Vielfaches von 3 und 5! Sprich du solltest ein einzige Schleife verwenden!
 

Bitfehler

Bekanntes Mitglied
Wie schon erwähnt, könnte man eine Schleife nutzen. Für den Anfang kannst du aber auch zwei Schleifen verwenden. Du musst nur sicherstellen, dass der Wert 15 nur einmal ausgeben wird, da er ja sowohl vielfaches von 3 und 5 ist. Damit du keine doppelten bekommst, musst du deine bisher befundenen Werte zwischenspeichern (beispielsweise in einem HashSet,Liste,...)


Code:
public static void main(String[] args)
      {
        //Begrenzung einer Summe, evtl auch einfach in Schleifekopf setzen
        int sum = 10;

        //Hashset um doppelte Werte zu vermeiden
        HashSet<Integer> hash = new HashSet<>();
        
       //Mache etwas bis zur Summe   
        for (int i = 1; i < sum; i++) {
                       //Modulo-Operation zur Bestimmung der Vielfachen
                       if (i % 3 ==0 || i % 5 ==0){
                              hash.add(i);
                       }       
           }
                
          //Ausgabe
           System.out.println(hash.toString());
      }
 

100hp4ever

Mitglied
Danke für eure Antworten. Die mögliche Lösung von @Bitfehler ist mir leider noch ein wenig kompliziert :)
Ich studiere erst seit 2 Wochen Angewandte Informatik. Ich habe meinen Code bei mir ausprobiert und es scheint zu funktionieren. Dass ich die doppelten Zahlen ausschließe, kann noch nicht erwartet werden bei meinem jetzigen Wissenstand:)
 

Joose

Top Contributor
Ich habe meinen Code bei mir ausprobiert und es scheint zu funktionieren.

Klar bis auf die eben die doppelten Vielfachen welche du dazu addierst.

Dass ich die doppelten Zahlen ausschließe, kann noch nicht erwartet werden bei meinem jetzigen Wissenstand:)

Das hat weniger etwas mit dem (Java) Wissenstand zu tun. Das Problem ist das du 2 verschiedene Schleifen verwendest um die Vielfachen zu berechnen, dabei reicht eine einzige auch ;)

In Worten es soll jedes Vielfaches von 3 und 5 gesucht werden, welches Kleiner ist als 1000.
Java:
// Variante 1: Jede Zahl <1000 überprüfen ob sie ein Vielfaches ist
for(int i = 1; i < 1000; i++) {
    if(i % 3 == 0 || i % 5 == 0) {
        // vielfaches gefunden
    }
}

// Variante 2: Jedes Vielfache <1000 berechnen
for(int i = 1; i*3 < 1000 || i*5 < 1000; i++) {
    int x3 = i * 3;
    int x5 = i * 5;
    if(x3 != x5) {
        // 2 unterschiedliche Vielfache, beide addieren;
    } else {
        // gleiches Vielfache, nur eine der beiden Zahlen addieren
    }
}
 

tommysenf

Top Contributor
Java:
public static void main(String[] args) {
    int sum = 0;
    for (int i = 1; i < 1000; i++) {
        //Modulo-Operation zur Bestimmung der Vielfachen
        if (i % 3 ==0 || i % 5 ==0) {
            sum+= i;
        }
     }       
     //Ausgabe
     System.out.println(sum);
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
N mit Werten aus einer mysql datenbank in java rechnen Java Basics - Anfänger-Themen 17
K Java Code rechnen Java Basics - Anfänger-Themen 7
J Anfänger-Problem: Rechnen mit Java Java Basics - Anfänger-Themen 3
J Mit Java exp Rechnen ? Java Basics - Anfänger-Themen 4
B Großer Java bug beim rechnen? Java Basics - Anfänger-Themen 66
H .java Dateien in Eclipse einbinden und ausführen Java Basics - Anfänger-Themen 1
onlyxlia Schlüsselworte Was meint man mit "einen Typ" in Java erstellen? Java Basics - Anfänger-Themen 2
O Java Kara geschweifte Klammern Java Basics - Anfänger-Themen 2
richis-fragen Mausrad logitech kann links und rechts klick wie in java abragen. Java Basics - Anfänger-Themen 15
XWing Java Klssenproblem Java Basics - Anfänger-Themen 4
R Umgebungsvariable java -cp gibt immer Java-Hilfe... Java Basics - Anfänger-Themen 3
farbenlos Csv Datei in Java einlesen Java Basics - Anfänger-Themen 18
F TableModelListener: java.lang.ArrayIndexOutOfBoundsException: 132 Java Basics - Anfänger-Themen 3
G Java 8 - Support-Ende Java Basics - Anfänger-Themen 7
T Java Weihnachtsbaum + Rahmen Java Basics - Anfänger-Themen 1
N Will mit Java anfangen Java Basics - Anfänger-Themen 13
Ü Java Array - Buchstaben als Zahlen ausgeben Java Basics - Anfänger-Themen 22
M Java Iterator Verständnisfrage Java Basics - Anfänger-Themen 6
M Java Mail Programm Java Basics - Anfänger-Themen 4
Sniper1000 Java 391 für Windows Java Basics - Anfänger-Themen 37
J Java long- in int-Variable umwandeln Java Basics - Anfänger-Themen 6
JaZuDemNo Java im Studium Java Basics - Anfänger-Themen 7
E Java Programm zur anzeige, ob Winter- oder Sommerzeit herrscht Java Basics - Anfänger-Themen 62
I QR code in Java selber generieren Java Basics - Anfänger-Themen 5
V Java-Ausnahmebehandlung: Behandlung geprüfter Ausnahmen Java Basics - Anfänger-Themen 1
krgewb Java Streams Java Basics - Anfänger-Themen 10
A Überwältigt von der komplexen Java Welt Java Basics - Anfänger-Themen 29
O Mehrfachvererbung auf Spezifikations- und Implementierungsebene in Java. Interfaces Java Basics - Anfänger-Themen 19
John_Sace Homogene Realisierung von Generics in Java ? Java Basics - Anfänger-Themen 19
P Meldung aus Java-Klasse in Thread an aufrufende Klasse Java Basics - Anfänger-Themen 1
R mit Java API arbeiten Java Basics - Anfänger-Themen 9
P JDK installieren Probleme bei der Java-Installation Java Basics - Anfänger-Themen 8
S Java: Wie sortiere ich eine ArrayList benutzerdefinierter Objekte nach einem bestimmten Attribut? Java Basics - Anfänger-Themen 2
Timo12345 JNLP File mit Java öffnen Java Basics - Anfänger-Themen 2
S Video Editierung mit Java.._ Java Basics - Anfänger-Themen 2
F Einstelungen in Java - CursorBlinkRate Java Basics - Anfänger-Themen 10
A PHP $_POST["name"] in Java Java Basics - Anfänger-Themen 3
vivansai21 Is there a oneliner to create a SortedSet filled with one or multiple elements in Java? Java Basics - Anfänger-Themen 9
Athro-Hiro Weißes Bild in Java erstellen Java Basics - Anfänger-Themen 3
Arjunreddy Can someone please tell me how to use a debugger in BlueJ(a Java environment) Java Basics - Anfänger-Themen 1
M Java assoziationen (UML) Java Basics - Anfänger-Themen 8
H Excel-Tabellen mit Java erstellen Java Basics - Anfänger-Themen 4
Simon16 Java ArrayListe von einer Klasse sortieren Java Basics - Anfänger-Themen 2
P Wie kann ich in meinem Java Programm etwas dauerhaft speichern? Java Basics - Anfänger-Themen 5
H Nutzt Eclipse alle CPU-Threads beim Ausführen von Java-Programmen? Java Basics - Anfänger-Themen 4
xXGrowGuruXx Java einstieg, leichte sache 0 verstanden Java Basics - Anfänger-Themen 7
A java.sql.SQLException: Data type mismatch. Java Basics - Anfänger-Themen 1
H Java-Programm zur Ausgabe von Zuständen Java Basics - Anfänger-Themen 80
N Java Spiel Figur auf dem Hintergrundbild bewegen. Java Basics - Anfänger-Themen 11
G Kann Java-Programm nicht als jar aufrufen, auch als EXE nicht Java Basics - Anfänger-Themen 19
N Java Taschenrechner hat Jemand vlt einen Tipp dafür wie ich jetzt die buttons verbinden kann und das Ergebnis auf dem textfield anzeigen lassen kann Java Basics - Anfänger-Themen 13
A Lerngruppe Java Java Basics - Anfänger-Themen 2
G Help me in the Java Program Java Basics - Anfänger-Themen 2
L Java- Vererbung Java Basics - Anfänger-Themen 4
LimDul Suche Java Stream Tutorial Java Basics - Anfänger-Themen 2
_so_far_away_ Ich möchte Java lernen Java Basics - Anfänger-Themen 11
benny1993 Java Programm erstellen für ein Fußball-Turnier Java Basics - Anfänger-Themen 3
M Datentypen While-Schleife eine Java Methode erstellen Java Basics - Anfänger-Themen 3
V Bild per Java Script austauschen Java Basics - Anfänger-Themen 7
MoxMorris this Keyword in Java Java Basics - Anfänger-Themen 14
D Wie kann man in Java nach Arrays auf Duplikate prüfen Java Basics - Anfänger-Themen 12
wolei JAVA Zeitdifferenz feststellen. Java Basics - Anfänger-Themen 4
DiyarcanZeren Rekursion in Java Java Basics - Anfänger-Themen 5
wolei Java generic interface in a generic class Java Basics - Anfänger-Themen 6
monsterherz Ablauf der Erstellung eines Java Programmes Java Basics - Anfänger-Themen 17
monsterherz Circle.java:5: error: <identifier> expected Java Basics - Anfänger-Themen 2
julian-fr Wie kann ich am besten Java lernen? Java Basics - Anfänger-Themen 17
A Java-Properties und -RessourceBundles Java Basics - Anfänger-Themen 5
lrnz22 Java-Basics-Aufgabe Java Basics - Anfänger-Themen 8
R Java kann nicht installiert werden Java Basics - Anfänger-Themen 8
marcelnedza Finde meinen Fehler in einer Methode nicht, Java Karol Java Basics - Anfänger-Themen 15
G In ein java Dokument Ton einbinden Java Basics - Anfänger-Themen 1
C was heisst es wenn java ']' erwartet ? Java Basics - Anfänger-Themen 2
KeinJavaFreak Erste Schritte Programm "Java(TM) Platform SE binary " nicht vorhanden Java Basics - Anfänger-Themen 1
KeinJavaFreak Erste Schritte Java "Executable Jar File" nicht vorhanden Java Basics - Anfänger-Themen 1
melisax Java 2D-Array Tabelle Java Basics - Anfänger-Themen 4
melisax Java Array Wert an bestimmtem Index angeben Java Basics - Anfänger-Themen 14
J Java Testklasse Java Basics - Anfänger-Themen 5
P Java Selenium . Parameterized.Parameters erzeugt eine Fehlermeldung Java Basics - Anfänger-Themen 14
W Java-Code mit Array Java Basics - Anfänger-Themen 14
W Java-Code Java Basics - Anfänger-Themen 2
P BeforeEach AfterEach werden nicht ausgeführt. Java / Selenium Java Basics - Anfänger-Themen 4
A Wie führe ich eine Batch-Datei von meiner Java-Anwendung aus? Java Basics - Anfänger-Themen 18
W Java code- TicTac toe Java Basics - Anfänger-Themen 51
Ostkreuz Java Docs Java Basics - Anfänger-Themen 9
R Java boolean Unterschied " == " und " = " Java Basics - Anfänger-Themen 3
D Java Programm mit Batch-Datei starten Java Basics - Anfänger-Themen 32
W Java-code Java Basics - Anfänger-Themen 8
W Java-code Java Basics - Anfänger-Themen 9
W Java-Code erklären Java Basics - Anfänger-Themen 6
A Java Kurs / Tutorial Java Basics - Anfänger-Themen 6
K Java Lotto Spiel; ich komme nicht weiter Java Basics - Anfänger-Themen 15
R Operatoren Rechenoperation in Java verwenden für Calculator Java Basics - Anfänger-Themen 2
P Java 2n Potenzieren Java Basics - Anfänger-Themen 1
J Java Hamster Java Basics - Anfänger-Themen 4
D Wie sehe ich ein Java-Programm? Java Basics - Anfänger-Themen 27
V Die Funktion des neuen Schlüsselworts in Java Java Basics - Anfänger-Themen 1
W Junit-Test (Java) Java Basics - Anfänger-Themen 4
W Testfälle bei Java ( Junit-Test) Java Basics - Anfänger-Themen 3
laxla123 If-else Java Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben