Hilfe!!! Ausbildung

//Java-noob

Mitglied
Hallo Welt,
ich versuche mich mit ach und Krach durch die Programmierung in der Ausbildung zum FI(SI) zu prügeln und könnte eure Hilfe sehr gebrauchen.
Für viele von euch wird die Aufgabe lächerlich aussehen.
Ich habe allerding überhaupt keinen Plan:

Schreibe eine Suchmaschine für beliebige Zahlen-Arrays. Diese Suchmaschine soll folgende Rahmenbedingungen erfüllen und Aufgabenerledigen:
1. Das Original-Array soll eine minimale Größe von 1000 zufällig generierten Einträgen haben.
2. Finde alle Primzahlen in dem Original-Array und gib die Anzahl aus.
3. Speichere alle Primzahlen in ein neues Array mit folgenden Bedingungen:
a. Jede Primzahl darf nur einmal vorkommen.
b. Das Primzahl-Array darf nicht länger sein, als es Einträge an Primzahlen hat.
4. Berechne den Anteil an gerade Zahlen im Original-Array.
5. Gib das Maximum und das Minimum im Original-Array aus.

Schon mal vielen Dank :)
 

Tarrew

Top Contributor
Wenn du eine komplette Lösung willst solltest du das hier posten:
http://www.java-forum.org/forum/private-stellangebote-und-stellensuche-von-usern.97/

Was hast du denn für Ansätze? Hier mal ein paar Ideen, die man vllt. nutzen kann:

1. Offensichtlich brauchst du ein Array, welches man so erstellen kann:
Java:
int[] numbers = new int[1000];
Um das Array zu füllen brauchst du eine for-Schleife und eine Methode um Zufallszahlen zu generieren, da solltest du dir Math.random bzw. die Random-Klasse mal angucken.

2. So kann man prüfen, ob eine einzige Zahl eine Primzahl ist:
Java:
public static boolean isPrime(int number) {
    if (number < 2) return false;

    for (int i = 2; i <= Math.sqrt(number); i++) {
        if (number % i == 0) {
            return false;
        }
    }
    return true;
}
Entsprechend musst du über dein Array mit den Zufallszahlen iterieren und für jede Zahl prüfen, ob sie eine Primzahl ist.

3. Hierfür lässt sich zB. ein Set nutzen, welches die Eigenschaft hat, dass jedes Element nur 1x vorhanden sein darf. Hat man alle Primzahlen gefunden, kann man das Set dann in ein Array umwandeln.

4. Ob eine Zahl gerade ist überprüfst du mit dem Modulo-Operator:
Java:
        if (zahl % 2 == 0) {
            System.out.println("Gerade Zahl");
        } else {
            System.out.println("Ungerade Zahl");
        }

5. Kleines Gerüst, wie man das Minimum finden könnte:
Java:
    public int findMinimum(int[] array) {
        int min = array[0];

        for (int i = 1; i < array.length; i++) {
            //hier kurz überlegen ;)
        }

        return min;
    }

Ich denke damit solltest du erstmal einen Ansatz haben, mit deinen Ansätzen kann man dir dann auch besser weiterhelfen ;)
 

Java20134

Bekanntes Mitglied
Eine kleine Verbesserung könnte man noch anbringen, um das ganze etwas effizienter zu machen. Zu Viertens: Wenn du dir die Bitrepräsentation einer ganzen Zahl einmal anschaust wirst du sehen, dass alle Zahlen außer die 1 gerade sind. Demnach muss die 1 gesetzt sein, damit die Zahl ungerade ist. Überprüfen kannst du das wie folgt:
Java:
public boolean isOdd(int n){
      return n & 1;
}
Die Methode kannst du auch bei den Primzahlen nutzen, da jede Primzahl ungerade sein muss außer die 2.

Zu Fünftens könnte man noch sagen, dass man auch hier die Klasse Math von Java nutzen kann mit min und max, aber das kann man auch mit <,>, ... umsetzen.
 
Zuletzt bearbeitet:

Tarrew

Top Contributor
Demnach muss die 1 gesetzt sein, damit die Zahl ungerade ist. Überprüfen kannst du das wie folgt:
Java:
public boolean isOdd(int n){
      return n & 1;
}

Das Ergebnis eines bitweisen AND zweier Integer ist auch ein Integer und kein Boolean. Demnach kompiliert das Ganze garnicht. Wenn schon, dann so:
Java:
    public boolean isOdd(int n) {
        return (n & 1) == 1;
    }
;)
 
X

Xyz1

Gast
Okay, hier bitte:
Java:
    public static void main(String[] args) {
        // 1
        int[] is = new Random().ints(1000, 0, 10000).toArray();
        // 2 
        int anzahl = 0;
        for (int i : is) {
            if (isPrime(i)) {
                anzahl++;
            }
        }
        System.out.println("anzahl = " + anzahl);
        // 3 a und b
        HashSet<Integer> set = new HashSet<>();
        for (int i : is) {
            if (isPrime(i)) {
                set.add(i);
            }
        }
        int[] is1 = set.stream().mapToInt(i -> i).toArray();
        System.out.println("is1 = " + Arrays.toString(is1));
        // 4 und 5
        int gerade = 0;
        for (int i : is) {
            if (i % 2 == 0) {
                gerade++;
            }
        }
        System.out.println("is.length = " + is.length);
        System.out.println("gerade = " + gerade);
        System.out.println("ungerade = " + (is.length - gerade));

        System.out.println("Min = " + Arrays.stream(is).min().getAsInt());
        System.out.println("Max = " + Arrays.stream(is).max().getAsInt());
    }

    /*
    don't use this  
     */
    static boolean isPrime(int number) {
        if (number < 2) {
            return false;
        }
        int sq = (int) Math.sqrt(number);
        for (int i = 2; i <= sq; i++) {
            if (number % i == 0) {
                return false;
            }
        }
        return true;
    }

Code:
anzahl = 108
is1 = [2819, 2311, 7433, 523, 13, 7949, 271, 2063, 1301, 9749, 6679, 9241, 283, 8741, 4903, 3623, 4651, 7211, 8747, 6449, 6451, 3637, 7477, 313, 7993, 827, 2621, 9533, 2879, 9539, 5449, 8521, 3917, 6991, 1103, 5711, 2129, 6481, 1373, 1123, 8291, 613, 5477, 1381, 9323, 6763, 9067, 4723, 8563, 3701, 631, 9337, 4219, 7549, 383, 641, 7297, 131, 1163, 401, 4243, 1427, 2707, 9623, 8599, 1433, 3739, 5531, 9883, 6563, 421, 4261, 4519, 683, 6827, 5039, 7603, 4019, 9907, 4789, 7351, 5563, 701, 8389, 7879, 7369, 4561, 8669, 223, 7393, 8929, 2531, 2027, 4079, 9461, 8951, 7927, 1783, 7673, 9721, 251, 6397, 1789]
is.length = 1000
gerade = 538
ungerade = 462
Min = 1
Max = 9978

Damit wäre diese Aufgabe auch zu lösen.

HTH :)

Oh, bei .min(). und .max(). war ich etwas schreibfaul.
 
X

Xyz1

Gast
Zusatz:
Hat @Flown zwar nicht so gern, aber hier wäre die Java 8-Variante:
Java:
        // 1
        int[] is = new Random().ints(1000, 0, 10000).toArray();
        // 2 
        int anzahl = (int) Arrays.stream(is).filter(i -> isPrime(i)).count();
        System.out.println("anzahl = " + anzahl);
        // 3 a und b
        int[] is2 = Arrays.stream(is).filter(i -> isPrime(i)).mapToObj(Integer::new).collect(Collectors.toSet()).stream().mapToInt(i -> i).toArray();
        System.out.println("is2 = " + Arrays.toString(is2));
        // 4 und 5
        int gerade = (int) Arrays.stream(is).filter(i -> i % 2 == 0).count();
        int min = Arrays.stream(is).min().getAsInt();
        int max = Arrays.stream(is).max().getAsInt();

        System.out.println("is.length = " + is.length);
        System.out.println("gerade    = " + gerade);
        System.out.println("ungerade  = " + (is.length - gerade));

        System.out.println("min = " + min);
        System.out.println("max = " + max);

Die Ausgabe ist ja dieseselbe.
 
X

Xyz1

Gast
Lernen? Was ist das nochmal11^^?

Na, ich denke, das hilft ihm.

Außerdem ist es nicht wichtig, was er kann, sondern nur, was er in der Prüfung zu Papier bringt... So will es das Gesetz°!^^
 

Flown

Administrator
Mitarbeiter
@DerWissende Mich stören keine Java 8 Lösungen, sondern einfach die falsche Verwendung eben dieser.
Java:
IntPredicate isPrime = i -> i > 1 && IntStream.rangeClosed(2, (int) Math.sqrt(i)).noneMatch(x -> i % x == 0);
int[] is = new Random(0).ints(1_000).toArray();
long primeCount = IntStream.of(is).filter(isPrime).count();
int[] primes = IntStream.of(is).filter(isPrime).distinct().toArray();
long evenNumbersCount = IntStream.of(is).filter(i -> i % 2 == 0).count();
IntSummaryStatistics statistics = IntStream.of(is).summaryStatistics();
System.out.println(primeCount);
System.out.println(Arrays.toString(primes));
System.out.println(evenNumbersCount);
System.out.format("[%d, %d]%n", statistics.getMin(), statistics.getMax());
 

//Java-noob

Mitglied
Leute, ihr seid der Hammer!
Keinen Tag später schon so viel Hilfe.
Vielen vielen Dank. :)

P.S.Sollte ich nicht weiter kommen, melde ich mich hier nochmal.
Wir werden uns aber sicher "wiedersehen".
 

//Java-noob

Mitglied
///////////////////////////////////////////////////////////////
Hallo zusammen, die Suchmaschine hat schon super funktioniert.
Vielen Dank nochmal dafür.

Die nächste Aufgabe lautet:
An erster Stelle stehen hier die Sortieralgorithmen. Finde Berechnungsvorschriften für die gängigsten Sortiermechanismen Bubble-Sort, Quick-Sort, Insertion-Sort und Selection-Sort und implementiere sie. Folgende Anforderungen sollen erfüllt sein:
Stufe 1:
a. Es müssen beliebig viele Zahlen sortiert (1-n) oder unsortiert (Zufallszahlen mit max. 3 Stellen) in einem Array verarbeitet werden können.
b. Die Sortierreihenfolge muss festgelegt werden können.
c. Das Original- und das sortierte Array sollen am Ende lesbar ausgegeben werden.

Stufe 2:
a. Die abgelaufene Zeit muss mitgeschrieben und am Ende ausgegeben werden.
b. Sortierungen sollen mehrfach hintereinander für verschiedene Arrays der gleichen Länge ausgeführt werden können.

Stufe 3:
a. Berechne die mittlere Zeitdauer bei mehrfacher Ausführung.
b. Führe die Sortierungen mehrfach hintereinander mit immer größer werdenden Arrays aus.
c. Ordne die vier o.g. Sortieralgorithmen rechnerisch in sogenannte Aufwandsklassen ein.
 

//Java-noob

Mitglied
1
a.
Array1 beliebiger Anzahl mit Zahlen von 1-999 erstellen
int[] Array1 = new Random().ints(10000, 1, 999).toArray();

b.
Array1 in Array2 kopieren, Array2 sortieren (keine Ahnung wie)
c.
System.out.println("Sortiertes Array: " + Arrays.toString(Array2));

Ab Stufe 2 hört es schon ganz auf :'-(
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Hilfe bei Methode Allgemeine Java-Themen 14
M Javascript Hilfe bei ToDoList? Allgemeine Java-Themen 1
A Java Programm erstellen hilfe Allgemeine Java-Themen 10
Momo16 Brauche Hilfe - Java Projekt kann nicht erstellt werden Allgemeine Java-Themen 12
T Hilfe bei negation von suchabfrage Allgemeine Java-Themen 2
Peterw73 Hilfe bei Java gesucht Allgemeine Java-Themen 3
N Hilfe bei RegEx benötigt Allgemeine Java-Themen 3
A Hilfe beim Verständnis Allgemeine Java-Themen 16
V Hilfe mit Java Code Allgemeine Java-Themen 4
T Hilfe bei Programm. IDE: Eclipse mit EV3-Plugin, lejos Allgemeine Java-Themen 8
alinakeineAhnungv Hilfe bei einem Straßenbahn-Projekt von mir Allgemeine Java-Themen 18
Aboya Kugel mit Hilfe von Dreiecken rekursiv zeichnen Allgemeine Java-Themen 2
K Anzeigemöglichkeit von Bildern in JavaFX mit Hilfe von MongoDB GridFS Allgemeine Java-Themen 0
A Preisberechnung, Hilfe Allgemeine Java-Themen 4
M Bräuchte Hilfe bei der Aufgabe Allgemeine Java-Themen 1
s_1895 Hilfe bei Java Tic Tac Toe Allgemeine Java-Themen 8
W Suche Ursache für NPE - woher kommt sie? (Hilfe beim Debugging) Allgemeine Java-Themen 19
J Hilfe, Jar Datei kann nicht ausgeführt werden Allgemeine Java-Themen 2
M Hilfe bei einer Java Programmieraufgabe! Ab morgen Montag um 08:00 Uhr Allgemeine Java-Themen 5
B Bei Email: FW / AW... - Hilfe bei String suche Allgemeine Java-Themen 21
U Erste Schritte Hilfe bei simplem Glücsspiel in Java Allgemeine Java-Themen 4
K OOP Suche Hilfe + Erklärung für eine Hausaufgabe Allgemeine Java-Themen 1
K Objektorientierung, hilfe Allgemeine Java-Themen 9
V Bilder bei bestimmten Zeiten wechseln, bitte um Hilfe Allgemeine Java-Themen 5
D Hilfe bei Informatik Hausaufgaben Allgemeine Java-Themen 30
RalleYTN Brauche Hilfe beim Run-Length-Decoding Allgemeine Java-Themen 9
S Hilfe bei dem Auslesen einer YAML Datei Allgemeine Java-Themen 8
F NetBeans Hilfe!!! Allgemeine Java-Themen 23
H Schiffe versenken JButton Schiffe mit GUI verbinden Hilfe! Allgemeine Java-Themen 2
M Bitte Hilfe mit REGEX (Negieren) Allgemeine Java-Themen 4
E HILFE !! Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/io/FileUtils Allgemeine Java-Themen 4
S GetMethode erstellen mit Hilfe von Parametern Allgemeine Java-Themen 9
J Java "Bank Programm" Brauche eure Hilfe Allgemeine Java-Themen 3
B Hilfe bei Übungsblätter Allgemeine Java-Themen 9
O Erste Schritte Benzinverbrauch Code Hilfe Allgemeine Java-Themen 3
C Hilfe Bei Vegas Slide Allgemeine Java-Themen 0
B Hilfe!! spiel um Funktion des Selektierens erweitern (mit ASCII-Tabelle) Allgemeine Java-Themen 3
Ice4P4rty Hilfe Bei Promillerechner Allgemeine Java-Themen 9
C Atfx mit Hilfe von OpenAtfx auslesen Allgemeine Java-Themen 1
perlenfischer1984 Hilfe bei Design (Pattern) Allgemeine Java-Themen 5
G Hilfe bei Projektarbeit Allgemeine Java-Themen 5
GenerationLost Input/Output Custom Serialization - hilfe bei Realisierung Allgemeine Java-Themen 8
H Hilfe bei Erstellung eines Hilfe Fenster bei Tastendruck (F1 bei Win98) Allgemeine Java-Themen 5
B Swing Hilfe bei Abfrage von Benutzernamen und Passwort Allgemeine Java-Themen 2
T Hilfe bei Code Allgemeine Java-Themen 3
U Swing Hilfe beim Quellcode für ein Codierungs-/Decodierungsprogramm Allgemeine Java-Themen 9
S Hilfe bei Gui Allgemeine Java-Themen 3
O Best Practice Hilfe bei Algorithmus gesucht Allgemeine Java-Themen 10
GRAZZ0R Hilfe zum Spiel Mensch ärger dich nicht Allgemeine Java-Themen 1
C Hilfe bei den Ausgaben Allgemeine Java-Themen 4
K Hilfe bei GUI für Pizza-Service Allgemeine Java-Themen 11
J Hilfe bei Datumsberechnung aus Textfeld Allgemeine Java-Themen 10
I Bitte Drngend hilfe Allgemeine Java-Themen 2
C Hilfe bei NoClassDefFoundError Allgemeine Java-Themen 14
C Hilfe bei einer Fehler meldung Allgemeine Java-Themen 3
I Methoden Schnelle Hilfe benötigt - Kleines Video/Slideshow aus mehreren Bildern erstellen Allgemeine Java-Themen 3
C Hilfe bei einer Point Ausgabe Allgemeine Java-Themen 7
S Probleme mit meinem MacBook Pro DRINGEND HILFE erbeten! Allgemeine Java-Themen 17
N Erste Schritte [HILFE] effizienter,leistungsfähigermbackground Pixelbot Allgemeine Java-Themen 5
A Hilfe gesucht Allgemeine Java-Themen 44
X ArrayList will nicht so wie ich will. Hilfe Allgemeine Java-Themen 8
C Hilfe bei einer Fehlermeldung Allgemeine Java-Themen 5
C Hilfe bei MalformedURLException Allgemeine Java-Themen 7
D Baum zeichnen hilfe Allgemeine Java-Themen 4
M Hilfe bei parseInt Allgemeine Java-Themen 4
F Compiler-Fehler Hilfe bei Startup error Allgemeine Java-Themen 3
D Mit Hilfe von Java aus Excel-Sheet Zellen in neues Excel Dokument kopieren Allgemeine Java-Themen 3
F Socket NullPointerException Bitte um hilfe! Allgemeine Java-Themen 12
M Input/Output Java + OCR ? Erfahrungen und bitte um Hilfe Allgemeine Java-Themen 12
M Brauche Hilfe bei Quellcodeverständnis Allgemeine Java-Themen 4
B Zahlen ausgeben hilfe! Allgemeine Java-Themen 8
S Java USB dringend Hilfe! Allgemeine Java-Themen 6
X Hilfe bei Programm Allgemeine Java-Themen 5
zer0zer0 Best Practice apache common cli - optionen für hilfe ausblenden Allgemeine Java-Themen 5
F Bitte um Hilfe! Allgemeine Java-Themen 5
S Hilfe bei geeignetem Pattern (Decorierer) Allgemeine Java-Themen 2
D Brauche Hilfe bei Rechnung (Exponentiation) Allgemeine Java-Themen 12
F Brauche Hilfe bei Java Allgemeine Java-Themen 6
S Hilfe bei simplem Programm Allgemeine Java-Themen 3
J Ein blutiger Anfänger braucht Hilfe Allgemeine Java-Themen 7
B Hilfe bei JUnit Test Allgemeine Java-Themen 1
A ALTER TABLE mit Hilfe von RegEx zerlegen, splitten Allgemeine Java-Themen 5
B Dringend Hilfe gesucht für Struktogramm Allgemeine Java-Themen 11
C Brauche Hilfe mit Modulo Strategie Allgemeine Java-Themen 2
S Brauche Hilfe: Prüfungsaufgabe Java Allgemeine Java-Themen 8
J Probleme bei kompilieren ... Bitte um Hilfe Allgemeine Java-Themen 2
G java.exe in System 32. Hilfe!!! Allgemeine Java-Themen 8
M google plus java api - Anfänger sucht Hilfe Allgemeine Java-Themen 7
M Hilfe mit JOptionPane Allgemeine Java-Themen 2
I Hilfe: Klasse Vieleck Allgemeine Java-Themen 5
I javax.sound.sampled.* - Hilfe zu den Controls Allgemeine Java-Themen 8
C Hilfe bei Adressbuch-Programmierung, wie am Besten mit JList implementieren Allgemeine Java-Themen 2
S Hilfe bei der Cosinusapproximation Allgemeine Java-Themen 10
K Arraylist Hilfe Allgemeine Java-Themen 13
K Hilfe Felder Allgemeine Java-Themen 7
T Hilfe im Lizenz-Dschungel Allgemeine Java-Themen 11
S brauche Hilfe für ssh connection in java Allgemeine Java-Themen 6
W sql Query abspeichern selber variabele hilfe...? Allgemeine Java-Themen 16
N Hilfe bei Projekt Allgemeine Java-Themen 5
Jats Hilfe bei Bank mit mehreren Klassen Allgemeine Java-Themen 11

Ähnliche Java Themen

Neue Themen


Oben