Java Aufgabe (Teilbarkeit)

rion1

Neues Mitglied
Moin erstmal,
Ich bin absoluter Anfänger was Java betrifft und soll nun für eine Schulaufgabe die Teilbarkeit (Teilbar durch 3, 5, 7 und/oder 11)der Zahlen von 1-1000 prüfen, an sich habe ich das bereits getan nur ist meiner Lehrerin der Code zu lang und zu unübersichtlich. Daher meine frage wie man die einzelnen ifs zusammenfassen bzw. kürzen oder gar komplett anders prüfen kann.

Falls nun noch ein weiterer möglicher Teiler dazukommt soll dieser ganz einfach addiert werden können ohne viel weiteren code hinzuzufügen.

Dann soll die Zahl und alle möglichen Teiler(entweder 3, 5, 7, und/oder 11 )wie in meiner Version ausgegeben werden.

Meine Lehrerin sprach dabei von Methoden die diese Aufgabe ganz einfach übernehmen aber ich stehe wirklich auf dem Schlauch..
Ich hoffe einer von euch kann mir dabei ein bisschen weiterhelfen :)


Code:
        public class Teiler{
        
        public static void main(String[]args) {
        for ( int i = 1; i <= 1000; i++)

        {
            
            if (i%3==0 && i%5==0 && i%7==0 && i%11==0){
                
                System.out.println( i + " teilbar durch 3, 5, 7 und 11");
            }
            else if     (i%3!=0 && i%5!=0 && i%7!=0 && i%11!=0) {
                
                System.out.println(i);
                
            }
            else if (i%3==0 && i%5==0 && i%11==0) {
                System.out.println(i + " teilbar durch 3, 5 und 11");
            
            }
            else if (i%3==0 && i%7==0 && i%11==0) {
                System.out.println(i + " teilbar durch 3, 7 und 11");
            
            }
            else if (i%5==0 && i%7==0 && i%11==0) {
                System.out.println(i + " teilbar durch 5, 7 und 11");
            
            }
            else if (i%3==0 && i%11==0) {
                System.out.println(i + " teilbar durch 3 und 11");
            
            }
            else if (i%3==0 && i%5==0 && i%11==0) {
                System.out.println(i + " teilbar durch 3, 5 und 11");
            
            }
            
            else if (i%5==0 && i%11==0) {
                System.out.println(i + " teilbar durch 5 und 11");
            }
            else if (i%7==0 && i%11==0) {
                System.out.println(i + " teilbar durch 7 und 11");
            
            }
            else if (i%3==0 && i%7==0) {
                System.out.println(i + " teilbar durch 3" + " teilbar durch 7");
            
            }
            
            else if (i%5==0 && i%7==0) {
                System.out.println(i + " teilbar durch 5 und 7");
            }
            else if (i%3==0){
                
                System.out.println(i + " teilbar durch 3");
            }
            
            else if (i%5==0){
                
                System.out.println(i + " teilbar durch 5");
            }
            
            else if (i%7==0) {
                
                System.out.println(i + " teilbar durch 7");
            }
             else if (i%11==0) {
                
                System.out.println(i + " teilbar durch 11");
            }
        }}}


MfG rion1
 

User443

Mitglied
Code:
public class DEINKLASSENNAME {

    int arrayGroeße = 4;
    int[] teiler = new int[arrayGroeße];
    int arrayNummer;
   
   
    static DEINKLASSENNAME instanz = new DEINKLASSENNAME();

    public static void main (String [] args) {
       
        instanz.mathe();
       
    }
   
    public void mathe() {
       
        teiler[0] = 3;
        teiler[1] = 5;
        teiler[2] = 7;
        teiler[3] = 11;
       
        for(int zuTeilendeZahl = 1; zuTeilendeZahl < 1001; zuTeilendeZahl++) {
       
            for(arrayNummer = 0; arrayNummer < 4; arrayNummer++) {
               
               
            if(zuTeilendeZahl % teiler[arrayNummer] == 0) {
                System.out.println("Nummer " + zuTeilendeZahl + " ist teilbar durch = " + teiler[arrayNummer]);
            }
           
            }
           
            arrayNummer = 0;
           
        }
       
       
    }
   

}

Verkürzte Version deiner Methode :D
 

httpdigest

Top Contributor
Gibt alle Teiler einer Zahl in einer Zeile aus (bloß ohne das "und" als Trenner zwischen letztem und vorletztem Teiler):
Java:
public class Teiler {
  private static <T> void ifNotEmpty(
      java.util.stream.Stream<T> stream,
      java.util.function.Consumer<java.util.stream.Stream<T>> c) {
    java.util.Iterator<T> iterator = stream.iterator();
    if (iterator.hasNext())
      c.accept(java.util.stream.StreamSupport.stream(
          java.util.Spliterators.
            spliteratorUnknownSize(iterator, 0), false));
  }
  public static void main(String[] args) {
    java.util.List<Integer> teiler = 
        java.util.List.of(3, 5, 7, 11);
    java.util.stream.IntStream.rangeClosed(1, 1000)
      .forEach(i -> ifNotEmpty(
          teiler
         .stream()
         .filter(j -> i % j == 0)
         .map(String::valueOf),
           s -> System.out.println(
               i + " teilbar durch " + 
                   s.collect(java.util.stream.
                       Collectors.joining(", ")))));
  }
}
 

rion1

Neues Mitglied
Vielen Dank, das hat mir schonmal echt gut weitergeholfen,
gibt nur noch eine kleine schwierigkeit

und zwar wenn die zahlen ausgegeben werden werden nur die Zahlen welche mit einem der vorgegeben Teiler teilbar sind ausgegeben jedoch sollen auch alle nicht damit teilbaren zahlen ausgegeben werden.

hier die letzten paar zeilen der Ausgabe(die 990 z.B. soll nur einmal aufgelistet werden und dann mit allen mögl. teilern versehen sein):

990 teilbar durch 3
990 teilbar durch 5
990 teilbar durch 11
993 teilbar durch 3
994 teilbar durch 7
995 teilbar durch 5
996 teilbar durch 3
999 teilbar durch 3
1000 teilbar durch 5

Also quasi so:

990 teilbar durch 3 teilbar durch 5 teilbar durch 11
991
992
993 teilbar durch 3
994 teilbar durch 7
995 teilbar durch 5
996 teilbar durch 3
997
998
999 teilbar durch 3
1000 teilbar durch 5
 

httpdigest

Top Contributor
In diesem Fall ist es noch viel einfacher:
Java:
public class Teiler {
  public static void main(String[] args) {
    java.util.List<Integer> teiler = java.util.List.of(3, 5, 7, 11);
    java.util.stream.IntStream.rangeClosed(1, 1000)
      .forEach(i -> System.out.println(i + " teilbar durch "
        + teiler.stream().filter(j -> i % j == 0)
          .map(String::valueOf)
          .collect(java.util.stream.Collectors.joining(", "))));
  }
}
 

User443

Mitglied
Versuch erstmal selbst zur lösung zu kommen, damit du es selbstständig verstehst.

jedoch sollen auch alle nicht damit teilbaren zahlen ausgegeben werden.
Das ist ganz einfach zu lösen wenn du die If anweisung verstehst.

(die 990 z.B. soll nur einmal aufgelistet werden und dann mit allen mögl. teilern versehen sein)
Das wird bisschen kniffliger für dich denke ich aber als tipp kann ich dir geben das man dafür nochmal überprüfungen durchführen muss also ne schleife notwendig ist.
 

User443

Mitglied
In diesem Fall ist es noch viel einfacher:
Java:
public class Teiler {
  public static void main(String[] args) {
    java.util.List<Integer> teiler = java.util.List.of(3, 5, 7, 11);
    java.util.stream.IntStream.rangeClosed(1, 1000)
      .forEach(i -> System.out.println(i + " teilbar durch "
        + teiler.stream().filter(j -> i % j == 0)
          .map(String::valueOf)
          .collect(java.util.stream.Collectors.joining(", "))));
  }
}

Mit dem code wird er wohl bei seiner lehrerin minuspunkte einstreichen und an der schultafel wird er erstmal vorgeführt um zu beweisen ob er der vorgegeben einstein ist oder nur ein skript kiddy haha
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
lrnz22 Java-Basics-Aufgabe Java Basics - Anfänger-Themen 8
M Java Programmierung Aufgabe Anfänger Java Basics - Anfänger-Themen 1
Mikejr Java Berg aufgabe Java Basics - Anfänger-Themen 6
Robert_Klaus Hamster java Simulation Hilfe bei einer Aufgabe Java Basics - Anfänger-Themen 5
TimoN11 Java spezielle Suchprobleme - Aufgabe Java Basics - Anfänger-Themen 5
justemii Gehalt berechnen - Aufgabe Java-Programm Java Basics - Anfänger-Themen 9
M Lösung Aufgabe - Java Programmiren lernen für Dummies Java Basics - Anfänger-Themen 11
A Java-Programmierungs Aufgabe Java Basics - Anfänger-Themen 2
S Unbedingte hilfe bei Java Aufgabe [Schleife / Zinsrechnung] Java Basics - Anfänger-Themen 14
J Hilfe bei Java Aufgabe (Restschuld berechnen) Java Basics - Anfänger-Themen 11
S Hilfe bei Java Aufgabe (Schleifen) Java Basics - Anfänger-Themen 25
J Java Starthilfe Verständnisfrage Aufgabe Java Basics - Anfänger-Themen 2
H java aufgabe Java Basics - Anfänger-Themen 7
H java aufgabe Java Basics - Anfänger-Themen 68
H java aufgabe Java Basics - Anfänger-Themen 25
H aufgabe java luhn algorithmus Java Basics - Anfänger-Themen 10
H java aufgabe Java Basics - Anfänger-Themen 44
H java aufgabe Java Basics - Anfänger-Themen 7
H java string aufgabe Java Basics - Anfänger-Themen 10
H java online aufgabe Java Basics - Anfänger-Themen 4
H JAVA AUFGABE Java Basics - Anfänger-Themen 7
P Problem bei Java-Aufgabe Java Basics - Anfänger-Themen 12
J Bradley Kjell java Aufgabe Java Basics - Anfänger-Themen 3
N Java Aufgabe Java Basics - Anfänger-Themen 3
V Verstehe die Lösung einer Aufgabe von Grunkurs-Java nicht. Java Basics - Anfänger-Themen 11
P Verstehe Lösung einer Aufgabe von "Grundkurs-Java" nicht Java Basics - Anfänger-Themen 5
F Java Aufgabe Java Basics - Anfänger-Themen 8
S Hinweis zu Fehler im Kalender-Code - Aufgabe 5.3 aus Grundkurs Programmieren in Java 7. Auflage Java Basics - Anfänger-Themen 4
B Kreuzprodukt zweier Vektoren (Erste Java Aufgabe - Hilfestellungen und Tips erwünscht) Java Basics - Anfänger-Themen 4
M Java Aufgabe Java Basics - Anfänger-Themen 30
M Kurze Verständnisfrage zu einer Java Aufgabe Java Basics - Anfänger-Themen 12
M Problem bei einer Java-Aufgabe (Fakultäten) Java Basics - Anfänger-Themen 5
M Hilfe bei Java-Aufgabe Java Basics - Anfänger-Themen 15
eXistenZ Java-Boon kommt nicht zurrecht mit der Umsetzung einer Aufgabe... Java Basics - Anfänger-Themen 7
D Problem bei Java - Aufgabe Java Basics - Anfänger-Themen 7
J Java Aufgabe -> String einlesen, splitten,Substring & Java Basics - Anfänger-Themen 3
J kleine java aufgabe: ausgabe von sternchen Java Basics - Anfänger-Themen 20
G Java Aufgabe nicht lösbar Java Basics - Anfänger-Themen 5
J Java-Arraylist Aufgabe Java Basics - Anfänger-Themen 3
M Java-Anfänger Aufgabe Java Basics - Anfänger-Themen 3
G Problem mit Java Aufgabe Java Basics - Anfänger-Themen 14
D Java Aufgabe fürs Studium (bitte um Hilfe) Java Basics - Anfänger-Themen 8
J Probleme mit drucken aus Java Java Basics - Anfänger-Themen 3
Gokul Java chart library suggestion for web application? Java Basics - Anfänger-Themen 2
D wie kann ich gcc aus einer .java datei heraus aufrufen? Java Basics - Anfänger-Themen 2
S Text Formatierung in Java Java Basics - Anfänger-Themen 2
B Erste Schritte yaml parsen in Java Java Basics - Anfänger-Themen 19
C Methoden Umlaute in Java Java Basics - Anfänger-Themen 18
W Java-PRogramm liest als EXE-File Nicht USB, jedoch aus NetBeans Java Basics - Anfänger-Themen 45
W Methoden java map ersatz für c++map Java Basics - Anfänger-Themen 3
M Erste Schritte Java Primzahltester Java Basics - Anfänger-Themen 4
A csv Reader für Java? Java Basics - Anfänger-Themen 27
K Java - Enums Java Basics - Anfänger-Themen 30
tomzen Java Unterstützung für exel dateien installieren. Java Basics - Anfänger-Themen 2
Rookar java.lang.NoClassDefFoundError: org/json/JSONException Java Basics - Anfänger-Themen 2
Rookar Mit Button andere java öffnen Java Basics - Anfänger-Themen 4
F Java Object to Hashmap ? Java Basics - Anfänger-Themen 6
I Backend in Java und Ansicht von Dateien in statische HTML Seiten? Java Basics - Anfänger-Themen 15
R Input/Output Verwendung des Euro-Zeichens in Java Java Basics - Anfänger-Themen 7
I Push Nachrichten von JAVA EE App an Mobile App Java Basics - Anfänger-Themen 3
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
G 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
G 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

Ähnliche Java Themen

Neue Themen


Oben