Aufgabe 1 - Primzahlen - Das Sieb des Eratosthenes Schreibe ein Programm, welches Primzahlen nach dem Algorithmus des Eratosthenes berechnet: Zunächst werden alle Zahlen 2, 3, 4, usw. bis zu einer eingelesenen Obergrenze g aufgelistet. Die zunächst unmarkierten Zahlen sind potenzielle Primzahlen. Die kleinste unmarkierte Zahl ist immer eine Primzahl. Nachdem eine Primzahl gefunden wurde, werden alle Vielfachen dieser Primzahl als zusammengesetzte Zahlen markiert. Es genügt dabei, mit dem Quadrat der Primzahl zu beginnen, da alle kleineren Vielfachen bereits markiert sind. Sobald das Quadrat der Primzahl größer als die Grenze g ist, sind alle Primzahlen kleiner oder gleich g bestimmt: Es sind die nicht markierten Zahlen. Das Verfahren beginnt also damit, die Vielfachen 4, 6, 8,... der kleinsten Primzahl 2 durchzustreichen. Die nächste unmarkierte Zahl ist die nächst größere Primzahl, die 3. Anschließend werden deren Vielfache 9, 12, 15,... durchgestrichen, usw. Aufgabe 2 - Telefonbuch (1) Schreibe ein Programm, welches eine Datei telefonnummern.txt anlegt. Es soll nun der Name einer Person eingelesen werden (genau ein Vorname und ein Nachname) und eine entsprechende Telefonnummer. Diese Informationen sollen nun wie folgt formatiert in die Datei geschrieben werden: Max Mustermann - 12345 In einer Schleife sollen nun die Daten von 9 weiteren Personen eingelesen werden und je in eine Zeile der Datei angefügt werden. Aufgabe 3 - Telefonbuch (2) Schreibe nun ein weiteres Programm, welches die Telefonnummern aus der Datei telefonnummern.txt wieder ausliest. Dabei wird zunächst geprüft, ob die Datei vorhanden ist und ggf. werden die Daten nun zeilenweise ausgelesen und die Daten in zwei Feldern gespeichert. Das erste Feld enthält den Namen der Personen als String, das zweite Feld ist ein Integer-Feld und enthält die entsprechenden Telefonnummern. Um einen String in ein int zu wandeln kann Integer.parseInt(s) verwendet werden. Dabei sollte eine NumberFormatException abgefangen werden und eine passende Meldung ausgegeben werden. Verwende zum Abfangen der möglichen Fehler beim Einlesen try und catch. Ist die Datei nicht vorhanden (FileNotFoundException) oder tritt beim Lesen der Datei ein Fehler auf (IOException), so soll eine passende Meldung ausgegeben werden und das Programm abbrechen. Hat das Programm fehlerfrei eingelesen so soll der Benutzer einen Namen angeben, nach dem das Programm in der Liste suchen soll (verwende für den Vergleich von Strings die Methode equals()).Wurde der Name gefunden, so soll die Ausgabe wie folgt aussehen: Max Mustermann hat die Telefonnummer 12345 Wurde der Name nicht gefunden, ist eine Meldung auszugeben. Aufgabe 4 - TextEditor Schreibe ein Programm, das den Anwender auffordert zeilenweise Quelltext einzugeben. Nach jeder eingegebenen Zeile, gibt das Programm die Zeile als Bildschirmecho wieder aus und schreibt sie in eine Datei mit der Endung .java. Der Name dieser Datei ist dem Programm beim Aufruf zu übergeben. Das Programm soll also z.B. wie folgt aufgerufen werden: java TextEditor Output.java Der Text soll vom Programm also in die Datei output.java geschrieben werden. Das Programm wird beendet, sobald eine Zeile die Zeichen //fertig enthält. Versuche nun eine kleine Javadatei zu schreiben, indem du das Programm startest und den Code eingibst. z.B. > java TextEditor Output.java class Output { public static void main( String[] a ) { System.out.println("Hallo! Dies ist ein JavaProgramm!"); } } //fertig > javac Output.java > java Output Hallo! Dies ist ein Java-Programm!