Probeklausur Java2 Aufgabe Fehlerbehandlung Wofür wird der try-catch Bereich benötigt? Zeigen Sie die Verwendung an einem Beispiel ihrer Wahl. Welche Bedeutung hat der optinale finally-Bereich? Aufgabe Streams Was unterscheidet Streams von der "bishergien" Art Datenquellen einzulesen. Welche Methoden spielen die Schlüsselrolle bei der Verwendung von Streams. Stellen Sie diese kurz vor. Aufgabe Rekursion Erklären Sie die Funktionsweise der Rekursion an einem selbst-gewähltem Beispiel. Aufgabe Threads Warum werden in modernen Systeme Threads verwendet? In welchem Zusammenhang stehen diese zu Prozessen? Aufgabe Datenstrukturen Erklären sie den Unterschied zwischen einer ArrayList, einer Hashmap und der LinkedList. Aufgabe Webseite einlesen Der folgende Code soll die Webseite dhbw-mannheim.de einlesen und auf der Console ausgeben. Ergänzen Sie die noch fehlende2Zeilen (siehe Fragezeigen): public static void main(String[] args) throws IOException { ??? URL url = new URL("http://www.dhbw-mannheim.de"); BufferedReader reader=new BufferedReader(new InputStreamReader(url.openStream())); while (reader.ready()) { ??? System.out.println(reader.readLine()); } } Aufgabe Sortieralgorithmen Stellen Sie die Sortierschritte der Algorithmen Mergesort, Quicksort, Bubblesort und Insertionsort an folgender unsortierter Zahlenreihe dar: 4321 Es soll von links nach rechts in aufsteigender Reihenfolge sortiert werden. Aufgabe Addier-Applikation Ein Programm (mit Oberfläche) zum Addieren zweier Zahlen soll programmiert werden. Ordnen Sie die Bestandtteile des Programms in die richtige Reihenfolge: mAusgabe=new JLabel("Ausgabe"); button.addActionListener(new PlusListener(mInput1, mInput2, mAusgabe)); panel.add(mInput1); panel.add(new JLabel("+")); panel.add(mInput2); panel.add(mAusgabe); panel.add(button); frame.add(panel,BorderLayout.CENTER); frame.setSize(600, 400); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } package gui; import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import import import import import javax.swing.JButton; javax.swing.JFrame; javax.swing.JLabel; javax.swing.JPanel; javax.swing.JTextField; public AddierApp() { JFrame frame=new JFrame("AddierApp"); JPanel panel=new JPanel(); mInput1=new JTextField("zahl1"); mInput2=new JTextField("zahl2"); JButton button=new JButton("Ergebnis"); public class AddierApp implements ActionListener { JTextField mInput1; JTextField mInput2; JLabel mAusgabe; @Override public void actionPerformed(ActionEvent e) { try{ int zahl1=Integer.parseInt(mInput1.getText()); int zahl2=Integer.parseInt(mInput2.getText()); int ergebnis=zahl1+zahl2; mAusgabe.setText(Integer.toString(ergebnis)); }catch (NumberFormatException exception) { mAusgabe.setText("keine Zahl!"); } } public static void main(String[] args) { AddierApp a=new AddierApp(); } } auseinandernehmen (pseudocode vorgeben) Aufgabe Sortieren und Aufwandangabe Erstellen Sie den Pseudocode, um zwei gefüllte und sortierte Int-Arrays (sind aufsteigend sortiert) in ein neues gemeinsames Int-Array einzusortieren (in aufsteigender Reihenfolge). Geben Sie den Aufwand ihres Algorithmus' in O-Notation an.