Einführung in die Informatik - Teil 5b -

Größe: px
Ab Seite anzeigen:

Download "Einführung in die Informatik - Teil 5b -"

Transkript

1 Eckart Modrow Zeichenketten mit J++ S. 1 Einführung in die Informatik - Teil 5b - Zeichenketten mit dem JBuilder Inhalt: 1. Bezug zum Unterricht: Anwendungen 2. Oberfläche und Ereignisverarbeitung 2.1 Die Erzeugung von GUI-Komponenten 2.2 Die Verarbeitung von Ereignissen 2.3 Ein Applet zur Ein- und Ausgabe von Zeichenketten 3. Methoden zur Zeichenkettenverarbeitung 4. Verschlüsselungsverfahren 5. Aufgaben: Literaturhinweise: Küchlin/Weber: Einführung in die Informatik, Objektorientiert mit Java, Springer 1998 Krüger, Guido: Handbuch der Java-Programmierung, oder Addison Wesley 2002

2 Eckart Modrow Zeichenketten mit J++ S. 2 Zeichenketten 1. Bezug zum Unterricht: Anwendungen Die im Unterricht benutzten Elemente einer Programmiersprache sollten sich nicht aus Vollständigkeits- oder anderen fachimmanenten Überlegungen ergeben, sondern möglichst aus einer Problemstellung abgeleitet werden, die Bezug zu den Möglichkeiten und Folgen der Anwendung von Informatiksystemen hat. Da außer bei grafischen Problemen fast die gesamten Ein- und Ausgabe von Programmen über Zeichenketten erfolgt, ergeben sich entsprechend viele Anwendungsmöglichkeiten: Reine Datenverarbeitung (Daten einlesen, Typkonvertierungen, verarbeiten, ausgeben) Verschlüsselung (Sicherheit, ecommerce, Vertrauen im Netz,...) Symbolverarbeitung (Computeralgebra, DNA-Strukturen, mathematische Anwendungen... ) Textinterpretation (Syntax, Mustererkennung, Übersetzung, Ersetzung, Suchvorgänge,...) Nebenbei bietet die Zeichenkettenverarbeitung gute Möglichkeiten zur Binnendifferenzierung und eine Fülle von Aufgaben zur Leistungsmessung, die von sehr einfachen Fällen für den Anfangsunterricht bis zu ziemlich kniffeligen Problemen reichen. 2. Oberfläche und Ereignisverarbeitung Zeichenketten werden innerhalb des Java-Programms verarbeitet. Um Ausgangsmaterialien einzulesen und Ergebnisse darzustellen, benötigt man eine Verknüpfung mit Darstellungskomponenten des Bildschirms, die ziemlich beliebig ist. Wir wollen uns hier zur Darstellung auf Textfelder in einem Applet beschränken und Aktionen mit Knöpfen auslösen. import java.awt.*; import java.applet.*; import java.awt.event.*; Appletoberfläche mit Textfeldern und Buttons Javaprogramm, das die gewünschten Aktionen ausführt public class Applet1 extends Applet implements ActionListener { Label lrein = new Label("Eingabe: "); Label lraus = new Label("Ausgabe ); Button start = new Button("start!"); TextField rein = new TextField(40); Die Arbeitsweise solcher Programme ist immer gleich: zuerst wird die grafische Oberfläche (GUI) erzeugt und angezeigt, dann wartet das Applet auf Eingaben, z. B. auf aus Eintippen eines Textes in ein Textfeld, (schon dabei werden jede Menge Ereignisse (Events) ausgelöst, z. B. beim Loslassen einer Taste, die wir hier aber ignorieren wollen) beim Anklicken eines Knopfes (Buttons) wird ein Ereignis ausgelöst, das im Programm den gewünschten Ablauf startet. Dazu holt sich das Programm die erforderlichen Daten aus den GUI-Komponenten, verarbeitet sie und stellt die Ergebnisse auf diesen oder anderen GUI-Komponenten dar.

3 Eckart Modrow Zeichenketten mit J++ S Die Erzeugung von GUI-Komponenten Wir benötigen von den GUI-Komponenten des AWT (abstract windowing toolkit) von Java nur Label-, TextField- und Button-Objekte. Wir erzeugen sie mit Hilfe des JBuilder- Designers, der auf der Registerkarte gleich neben dem Editor zu finden ist. Im Eigenschaftsfenster des Applets setzen wir das Layout auf null (damit werden die Komponenten frei positionierbar), klicken dann oben auf die Registerkarte AWT, wählen die Label-Komponente ( A ) aus und platzieren ein solches Objekt auf das Applet (durch Klicken). Danach ändern wir die Eigenschaften des Objekts: Wir setzen die Schriftgröße (font) z. B. auf 40, wählen als Text das Wort Hallo! in rot und zentriert können auch noch den Namen von label1 z. B. auf Begruessungstextanzeige ändern. AWT- Komponenten Eigenschaften Designer Ereignisse

4 Eckart Modrow Zeichenketten mit J++ S. 4 Der vom JBuilder erzeugte Quelltext lautet: package label1; der übliche Kopf import java.awt.*; import java.awt.event.*; import java.applet.*; die erzeugte Label-Komponente public class Applet1 extends Applet { private boolean isstandalone = false; Label Begruessungstextanzeige = new Label(); //Parameterwert holen public String getparameter(string key, String def) { return isstandalone? System.getProperty(key, def) : (getparameter(key)!= null? getparameter(key) : def); //Das Applet konstruieren public Applet1() { //Das Applet initialisieren public void init() { try { jbinit(); catch(exception e) { e.printstacktrace(); //Initialisierung der Komponenten private void jbinit() throws Exception { Begruessungstextanzeige.setAlignment(Label.CENTER); Begruessungstextanzeige.setFont(new java.awt.font("serif", 0, 40)); Begruessungstextanzeige.setForeground(Color.red); Begruessungstextanzeige.setText("Hallo!"); Begruessungstextanzeige.setBounds(new Rectangle(65, 87, 257, 80)); this.setlayout(null); this.add(begruessungstextanzeige, null); //Applet-Information holen public String getappletinfo() { return "Applet-Information"; //Parameter-Infos holen public String[][] getparameterinfo() { return null; Die im Eigenschaftsfenster vorgenommenen Einstellungen umsetzen Der restlichen Quelltextzeilen sind Bürokratie und können von uns erstmal ignoriert aber nicht gelöscht! - werden.

5 Eckart Modrow Zeichenketten mit J++ S Die Verarbeitung von Ereignissen Wir wollen uns hier auf Reaktionen beschränken, die auf das Anklicken eines Buttons erfolgen. Dazu müssen wir den Button als Ereignissender - mit einem Ereignisempfänger verbinden (einem Listener), der die gewünschten Aktionen mit einer Ereignisbehandlungsmethode auslöst. Wir wollen beim Button das ActionEvent benutzen, das durch das Anklicken ausgelöst wird. (Genauso gut hätten wir auch ein Mausereignis nehmen können!) Es gibt in Java sehr viele verschiedene Möglichkeiten, auf Ereignisse zu reagieren. Wir wollen hier das vom JBuilder automatisch erzeugte Verfahren besprechen: Die in Java benutzten Listener reagieren meist auf eine ganze Reihe von Ereignissen, für die wir dann die entsprechenden Methoden schreiben müssen auch dann, wenn wir sie gar nicht benötigen. Um das zu umgehen, gibt es die so genannten Adapterklassen, die für alle benötigten Methoden leere Methodenrümpfe besitzen. Aus solch einer Adapterklasse leitet der JBuilder dann eine Tochterklasse ab, die die nicht benötigten leeren Methoden erbt und nur die im Eigenschaftsfenster angegebenen Methoden überschreibt. Das ist auf den ersten Blick umständlich, spart aber Schreibarbeit. Doppelklicken wir im Designer auf den Button, dann wird eine Klasse Applet1_button1_actionAdapter erzeugt, die eine Methode button1_actionperformed bereitstellt, in die wir den Code eingeben können, der beim Anklicken des Buttons ausgeführt wird. class Applet1_button1_actionAdapter implements java.awt.event.actionlistener { Applet1 adaptee; Applet1_button1_actionAdapter(Applet1 adaptee) { this.adaptee = adaptee; public void actionperformed(actionevent e) { adaptee.button1_actionperformed(e); hier wird die actionperformed- Methode des Applets ( adaptee ) Die Abläufe sind dann so: aufgerufen Vorbereitung: ActionAdapter- Klasse angeben und beim Button als Listener anmelden und auf Action-Ereignisse warten Ausführung: Der Button wird angeklickt ein ActionEvent wird dem Listener übergeben die actionperformed- Methode des Applets wird vom Listener aufgerufen und löst die gewünschten Aktionen aus Ein Beispiel, bei dem sich auf Mausklick die Aufschrift des Buttons ändert, sieht so aus: //.. der übliche Kopf public class Applet1 extends Applet { Button button1 = new Button(); Button erzeugen public Applet1() { / wie immer

6 Eckart Modrow Zeichenketten mit J++ S. 6 private void jbinit() throws Exception { button1.setfont(new java.awt.font("dialog", 0, 40)); button1.setlabel("hallo!"); button1.setbounds(new Rectangle(84, 95, 244, 75)); Eigenschaften einstellen button1.addactionlistener(new Applet1_button1_actionAdapter(this)); this.setlayout(null); this.add(button1, null); ActionListener (s.o.) hinzufügen void button1_actionperformed(actionevent e) { button1.setlabel("hat geklappt"); Reaktion auf Mausklicks

7 Eckart Modrow Zeichenketten mit J++ S Ein Applet zur Ein- und Ausgabe von Zeichenketten Wir wollen zwei Textfelder benutzen, deren Inhalte wird mit den Methoden gettext() bzw. settext() lesen und beschreiben können. Ein Start-Button soll die Verarbeitung einleiten. Zwei Label-Komponenten beschriften die Felder. Der Inhalt des oberen Eingabefeldes wird in Grossbuchstaben im unteren dargestellt. Wir erzeugen die benötigten Komponenten (zwei Label, zwei Textfelder und einen Button) im Designer und stellen die Eigenschaften so ein, dass das Ergebnis dem Screenshot oben ähnelt. Dabei vergessen wir nicht, die Abmessungen im Appletviewer (Projekteigenschaften ) so einzustellen, dass auch alles zu sehen ist. Dann müssen wir nur noch auf den Button doppelklicken und drei (hier fett und rot gedruckte) Zeilen in die ActionPerformed-Methode schreiben: package zeichenketten1; import java.awt.*; import java.awt.event.*; import java.applet.*; public class Applet1 extends Applet { Label leingabe = new Label(); Label lausgabe = new Label(); TextField tausgabe = new TextField(); TextField teingabe = new TextField(); Button button1 = new Button(); Komponenten erzeugen public Applet1() {//wie immer

8 Eckart Modrow Zeichenketten mit J++ S. 8 private void jbinit() throws Exception { leingabe.setfont(new java.awt.font("dialog", 0, 20)); leingabe.settext("eingabe:"); leingabe.setbounds(new Rectangle(6, 10, 86, 37)); this.setlayout(null); lausgabe.setbounds(new Rectangle(4, 53, 90, 37)); lausgabe.settext("ausgabe:"); lausgabe.setfont(new java.awt.font("dialog", 0, 20)); tausgabe.setfont(new java.awt.font("dialog", 0, 20)); tausgabe.settext(""); tausgabe.setbounds(new Rectangle(98, 60, 503, 36)); teingabe.setfont(new java.awt.font("dialog", 0, 20)); teingabe.settext(""); teingabe.setbounds(new Rectangle(97, 11, 503, 36)); button1.setbackground(color.orange); button1.setfont(new java.awt.font("serif", 0, 20)); button1.setforeground(color.red); button1.setlabel("start!"); button1.setbounds(new Rectangle(15, 110, 93, 40)); Eigenschaften einstellen button1.addactionlistener(new Applet1_button1_actionAdapter(this)); this.add(leingabe, null); this.add(lausgabe, null); this.add(tausgabe, null); this.add(teingabe, null); this.add(button1, null); void button1_actionperformed(actionevent e) { String eingabe = teingabe.gettext(); String ausgabe = eingabe.touppercase(); tausgabe.settext(ausgabe); Text holen, umwandeln und ausgeben class Applet1_button1_actionAdapter implements java.awt.event.actionlistener {// wie immer

9 Eckart Modrow Zeichenketten mit J++ S Methoden zur Zeichenkettenverarbeitung Zeichenketten bezeichnet man als Strings. Es gibt eine String-Klasse und eine StringBuffer- Klasse. Sie unterscheiden sich dadurch, dass Strings als final deklariert, StringBuffer aber dynamisch sind. Verändert man also Strings, so erhält man einen neuen String, während String- Buffer geändert werden. (Es gibt auch noch andere Unterschiede.) Für unsere Zwecke sind die Unterschiede ohne Bedeutung: wir verwenden Strings. Einen Strings können wir uns als eine Folge von Zeichen vorstellen, wobei die Nummerierung bei Null beginnt. Die Zählung beginnt bei 0! D a s i s t e i n S t r i n g Im String stehen 16-Bit-Unicode-Zeichen. Bei Bedarf können wird diese Zeichen durch Typecasting in ganze Zahlen umwandeln - z. B. um die Ordnungsnummer des Zeichens zu bestimmen: int i = (int) c ; Will man solche Zahlen in Textfeldern darstellen, dann gibt es drei Tricks dafür: Entweder man verwandelt die ganze Zahl in ein Objekt der Wrapper-Klasse Integer, das dann in einen String umgewandelt wird: raus.settext(new Integer(i).toString()); oder man hängt die Zahl einfach an einen existierenden String (z. B. ein Leerzeichen) an dann erfolgt eine automatische Typumwandlung. Zur Not kann man das erste Zeichen dann wieder entfernen: raus.settext( +i); oder man benutzt eine der statischen Umwandlungsmethoden valueof() der String- Klasse: raus.settext(string.valueof(i)); Von den zahlreichen Methoden der String-Klasse wollen wir nur einige benutzen: charat(int) compareto(string) concat(string) indexof(string) length() replace(char1, char2) substring(int, int) tolowercase() touppercase() tostring() liefert das entsprechende Zeichen zurück vergleicht mit einem String verbindet mit einem String liefert den Index des ersten Zeichens des Teilstrings liefert die Länge des Strings ersetzt alle Zeichen char1 durch char2 liefert einen Teilstring konvertiert in Kleinschreibung konvertiert in Grossschreibung wandelt ein Objekt in einen String um

10 10 Virtuelle Lehrerweiterbildung Informatik in Niedersachsen Eckart Modrow Zeichenketten mit J++ S. 4. Verschlüsselungsverfahren Eines der ältesten kryptografischen Verfahren ist das Cäsar-Verfahren, bei dem alle Zeichen zyklisch um eine Stelle im Alphabet verschoben werden: A B, B C,..., Z A In der folgenden Verschlüsselungsmethode wird ausgiebig vom Typecasting Gebrauch gemacht: Zeichen werden in Zahlen und diese wieder in Zeichen umgewandelt. public void actionperformed(actionevent e) { char c,d; int nr,max,min; eingabe = rein.gettext().touppercase(); ausgabe = ""; max = (int)'z'; min = (int)'a'; for(int i=0;i<eingabe.length();i++) { c = eingabe.charat(i); nr = (int)c; nr = nr + 1; if (nr > max) nr = (nr-max)+min-1; ausgabe = ausgabe+(char)nr; raus.settext(ausgabe); Die Zeichen können natürlich auch um andere Werte verschoben werden. Versetzungsverfahren: Die Zeichen werden zeilenweise in einen Block der Breite n geschrieben und spaltenweise wieder ausgelesen: Klartext: DIE GROESSTEN KRITIKER DER ELCHE WAREN FRUEHER SELBER WELCHE Block mit n=8: D I E G R O E S S T E N K R I T I K E R D E R E L C H E W A R E N F R U E H E R S E L B E R W E L C H E Geheimtext: DSIEWULCISTRAEBHETI RHEE EKEEER GNELNR R RC W OK HFSE ERDEREL XOR-Verschlüsselung: Der Klartext wird mit Hilfe eines Schlüsselwortes verschlüsselt. Dazu werden Klartext und der ggf. wiederholte Schlüssel untereinander geschrieben. Die Ordnungsnummern der Zeichen werden in die Dualdarstellung gebracht und bitweise xor-verschlüsselt: Stehen zwei gleiche Ziffern (Nullen oder Einsen) übereinander, dann ergibt sich eine Null, sonst eine Eins. Das Verfahren ist durch nochmalige Verschlüsselung umkehrbar und sehr schnell. Die Schlüssel können z. B. in einer Chipkarte gespeichert sein.

11 11 Virtuelle Lehrerweiterbildung Informatik in Niedersachsen Eckart Modrow Zeichenketten mit J++ S. Klartext: GEHEIM Schlüssel: TEST Das Ergebnis wird wieder in eine Zeichenfolge umgewandelt (die hier aber nicht im normalen Zeichensatz liegt). Blockweises Chiffrieren: Die Zeichen werden fest verdrahtet auf einander abgebildet. Die Verdrahtung ist gut auf einer Chipkarte unterzubringen. A B C D E F G H I J K.. A B C D E F G H I J K.. Einwegverfahren: Die Verfahren beruhen darauf, dass Zahlen, insbesondere große, leicht multipliziert, aber nur schwer faktorisiert werden können. Damit wird es möglich, einen öffentlichen Schlüssel (public key) frei zu verteilen, mit dem Texte verschlüsselt werden. Nur mit einem dazu passenden privaten Schlüssel (private key) können sie wieder entschlüsselt werden. Das bekannte RSA-Verfahren, mit dem z. B. die Pretty-Good-Privacy-(PGP)-Verfahren des Internets arbeiten, funktioniert wie folgt: Hat man zwei Primzahlen p und q sowie zwei Zahlen n=p*q und r<n, dann gilt: Wählt man jetzt zwei natürliche Zahlen x und y, für die gilt: dann können wir mit ihrer Hilfe eine Zahl Z verschlüsseln und wieder entschlüsseln: Z (p-1)*(q-1)*r+1 modulo (p*q) = Z x*y = (p-1)*(q-1)*r+1 Z x*y modulo n = (Z x ) y modulo n = Z Wir geben deshalb den öffentlichen Schlüssel x und die Zahl n allgemein bekannt, und dazu das Kodierungsverfahren: Mit allen Zeichen des Klartextes tue Z Ordnungsnummer des Zeichens V Z x modulo n Die Dekodierung erfolgt mit Hilfe des privaten Schlüssels y: Mit allen Zeichen des verschlüsselten Textes tue V Z Ordnungsnummer des Zeichens V y modulo n

12 12 Virtuelle Lehrerweiterbildung Informatik in Niedersachsen Eckart Modrow Zeichenketten mit J++ S. Wir wollen das Verfahren an einem Beispiel durchgehen: Als Primzahlen wählen wir: p = 97 und q = 151, deren Produkt ist n = Als r wählen wir beliebig r = 11, und damit das Produkt x*y = 96*150*11+1 = x bestimmen wir so, dass auch y eine ganze Zahl ist x = 19 und erhalten für y y = Jetzt kann es losgehen: Wir verschlüsseln das Klartextzeichen A : Ordnungsnummer Z von A : Z = 65 verschlüsselte Zeichennummer V: V = modulo = Der Empfänger möchte wieder entschlüsseln: Geheimzeichennummer V: V = Klartextzeichennummer Z: Z = modulo = 65 Klartextzeichen: A Da sich bei dem Verfahren riesige Zahlen durch die Potenzen ergeben, benötigen wir noch ein schnelles Verfahren, um die Reste dieser Potenzen zu berechnen: Berechnung von r = Basis Exponent modulo n: b e r 1 Basis Exponent SOLANGE e <> 0 TUE Wahr e ist eine gerade Zahl Falsch b (b*b) MOD n e e - e e DIV 2 r (r * b) MOD

13 13 Virtuelle Lehrerweiterbildung Informatik in Niedersachsen Eckart Modrow Zeichenketten mit J++ S. 5. Aufgaben: 1. a: Realisieren Sie das Cäsar-Verfahren für beliebige Verschiebungswerte. Entwickeln Sie eine GUI, in der die Verschiebungsweite ausgewählt werden kann. Entschlüsseln Sie die Texte auch wieder. b: Realisieren Sie das Versetzungsverfahren. Ermöglichen Sie auch hier Wahlmöglichkeiten. c: Realisieren Sie die XOR-Verschlüsselung. Wandeln Sie dazu die Zeichen in Bitfolgen um. Probieren Sie alternativ den XOR-Operator für Zahlen aus. 2. a: Realisieren Sie das beschriebene Verfahren zur Berechnung von Resten großer Potenzen. b: Benutzen Sie alternativ für diese Berechnung die Java-Klasse BigInteger. 3. Verschlüsseln Sie längere Texte und stellen Sie die Verteilung der Zeichen in Tabellenform oder grafisch als Histogramm dar. Versuchen Sie die Zeichen anhand der Zeichenhäufigkeit zu entschlüsseln. Funktioniert das bei allen Verfahren? 4. a: Extrahieren Sie eine Zahl, die als Zeichenkette eingegeben wurde. Benutzen Sie das Java-Hilfesystem. b: Geben Sie Rechenaufgaben als Zeichenketten ein: 3+4=, 12-5=,... Suchen Sie die Zahlen und die Operatoren im String und geben Sie das Ergebnis aus. c: Analysieren Sie Polynome, die als String eingegeben werden. Beginnen Sie mit einstelligen ganzen Zahlen als Koeffizienten und Exponenten. f(x)=3*x^2-2*x-1. Weiten Sie dann die Zahlendarstellung aus. d: Stellen Sie die Graphen der eingegebenen Funktionen dar. 5. a: Benutzen Sie die Lösung aus 4.b, um die Ableitung ganzrationaler Funktionen zu bestimmen. b: Diskutieren Sie das Problem, Produkt-, Quotienten- und Kettenregel auf entsprechende Funktionen anzuwenden. Welche Teilprobleme müssen gelöst werden?

Virtuelle Lehrerweiterbildung Informatik in Niedersachsen. Eckart Modrow Zeichenketten S. 1. Zeichenketten

Virtuelle Lehrerweiterbildung Informatik in Niedersachsen. Eckart Modrow Zeichenketten S. 1. Zeichenketten Eckart Modrow Zeichenketten S. 1 Zeichenketten 1. Bezug zum Unterricht: Anwendungen Die im Unterricht benutzten Elemente einer Programmiersprache sollten sich nicht aus Vollständigkeits- oder anderen fachimmanenten

Mehr

Einführung in die Informatik - Teil 6a -

Einführung in die Informatik - Teil 6a - Eckart Modrow Felder mit dem JBuilder S. 1 Einführung in die Informatik - Teil 6a - Felder mit dem JBuilder Inhalt: 1. Bezug zum Unterricht: Anwendungen 2. Eine eigene Klasse Feldverwalter 3. Den Feldverwalter

Mehr

Einführung in die Informatik - Teil 4b - Zeichnen mit der Maus im JBuilder

Einführung in die Informatik - Teil 4b - Zeichnen mit der Maus im JBuilder Eckart Modrow Zeichnen mit der Maus im JBuilder S. 1 Einführung in die Informatik - Teil 4b - Zeichnen mit der Maus im JBuilder Inhalt: 1. Arbeiten mit der Maus 2. Aufgaben Literaturhinweise: Küchlin/Weber:

Mehr

Einführung in die Informatik - Teil 6b -

Einführung in die Informatik - Teil 6b - Eckart Modrow Java-Anwendungen mit dem JBuilder S. 1 Einführung in die Informatik - Teil 6b - Java-Anwendungen mit dem JBuilder Inhalt: 1. Anwendungen versus Applets 2. Die Arbeit mit IDEs 3. J++-Anwendungen

Mehr

EAD II Übung 5. Graphische Benutzungsoberfläche mit BlueJ

EAD II Übung 5. Graphische Benutzungsoberfläche mit BlueJ EAD II Übung 5 Graphische Benutzungsoberfläche mit BlueJ Graphische Benutzungsoberfläche (GUI) Fenster, das weitere Komponenten zur Darstellung und Interaktion enthält spezielle Standardbibliotheken erforderlich,

Mehr

Einführung in die Informatik - Teil 4 -

Einführung in die Informatik - Teil 4 - Eckart Modrow Java-Anwendungen und Zeichenketten S. 1 Einführung in die Informatik - Teil 4 - Java-Anwendungen und Zeichenketten Inhalt: 1. Anwendungen versus Applets 2. Die Arbeit mit der IDE 3. NetBeans-Anwendungen

Mehr

Kapitel 10. Programmierkurs. Grundlagen von Exceptions Behandlung von Exceptions

Kapitel 10. Programmierkurs. Grundlagen von Exceptions Behandlung von Exceptions Kapitel 10 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Exceptions Behandlung von Exceptions Der finally-block catch or throw WS 07/08 1/ 23 2/ 23 Grundlagen von Exceptions

Mehr

Graphische Benutzungsoberflächen mit Java. Einführung in NetBeans

Graphische Benutzungsoberflächen mit Java. Einführung in NetBeans Graphische Benutzungsoberflächen mit Java Einführung in NetBeans Graphische Benutzungsoberflächen! Interaktion mit dem Programm! Datenein- und ausgabe! Rückmeldungen über Verarbeitung der Daten! Visualisierung

Mehr

Probeklausur Informatik 2 Sommersemester 2013

Probeklausur Informatik 2 Sommersemester 2013 Probeklausur Informatik 2 Sommersemester 2013 1 Probeklausur Informatik 2 Sommersemester 2013 Name: Matrikelnummer: Hilfsmittel: Es sind alle schriftlichen Unterlagen, aber keine elektronischen Hilfsmittel

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form

Mehr

5 Codierung nach RSA (Lösung)

5 Codierung nach RSA (Lösung) Kapitel 5 Codierung nach RSA (Lösung) Seite 1/17 5 Codierung nach RSA (Lösung) 5.1 Einführung Die drei Mathematiker Rivest, Shamir und Adleman entwickelten 1977 das nach ihnen benannte RSA-Verfahren. Es

Mehr

Programmierpraktikum

Programmierpraktikum TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Praktikum: Grundlagen der Programmierung Programmierpraktikum Woche 04 (17.11.2016) Stefan Berktold s.berktold@tum.de PRÄSENZAUFGABEN Heutige Übersicht

Mehr

Benutzeroberflächen. Java Teil 4

Benutzeroberflächen. Java Teil 4 Benutzeroberflächen Java Teil 4 Einleitung Eine grafische Benutzeroberfläche (Graphical User Interface) ermöglicht dem Benutzer die Interaktion mit dem Computer über grafische Symbole. Die GUI haben in

Mehr

System.out.println("TEXT");

System.out.println(TEXT); Inhaltsübersicht - Erstes Beispiel - Datentypen - Ausdrücke und Operatoren - Schleifen / Bedinungen - Struktogramme - Grundgerüst eines Programms in JAVA - Einlesen von Daten Erstes Beispiel public class

Mehr

Objektorientierte Programmierung Studiengang Medieninformatik

Objektorientierte Programmierung Studiengang Medieninformatik Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 5 12.04.2017 Was bisher geschah... Objektorientierte Programmierung Klassen und Objekte, Attribute

Mehr

14. Applets. Java-Beispiel: TempApplet.java. K. Bothe, Inst. f. Informatik, HU Berlin, PI1, WS 2006/07

14. Applets. Java-Beispiel: TempApplet.java. K. Bothe, Inst. f. Informatik, HU Berlin, PI1, WS 2006/07 14. Applets Java-Beispiel: TempApplet.java K. Bothe, Inst. f. Informatik, HU Berlin, PI1, WS 2006/07 Version: 2. Feb. 2007 2 Schwerpunkte Kommandozeilengesteuerte oder graphische Nutzeroberfläche Anwendungen

Mehr

/** Main-Methode erzeugt einen neuen Editor zum Testen */ public static void main(string[] args) { new Editor();

/** Main-Methode erzeugt einen neuen Editor zum Testen */ public static void main(string[] args) { new Editor(); Bereich: Grafische Benutzeroberflächen (UI), Events (2) Editor Package: de.dhbwka.java.exercise.ui.editor Klasse: Editor Aufgabenstellung: Schreiben Sie einen kleinen Texteditor mit Swing! Keine Panik,

Mehr

4 Codierung nach Viginere (Lösung)

4 Codierung nach Viginere (Lösung) Kapitel 4 Codierung nach Viginere (Lösung) Seite 1/14 4 Codierung nach Viginere (Lösung) 4.1 Einführung Blaise de Vigenère lebte von 1523 bis 1596 in Frankreich und war nach dem Studium bei verschiedenen

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 18 Einstieg in die Informatik mit Java Applets Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 18 1 Einführung 2 Sicherheits-Maßnahmen 3 Ereignisgesteuerte Programmierung

Mehr

Einführung in die Programmierung Blockkurs Java

Einführung in die Programmierung Blockkurs Java Michael Bader 8. 12. April 2002 Mittwoch Inhaltsübersicht Eigene Klassen definieren Vererbung Abstrakte Klassen Schnittstellen Polymorphismus Designbeispiele: Java-AWT Strings in Java Funktionen und Funktionsplotter

Mehr

Ausdrücke und primitive Typen

Ausdrücke und primitive Typen Lehrstuhl für Bioinformatik Einführung in die Programmierung für Bioinformatiker Prof. B. Rost, Dr. L. Richter Blatt 04 14.11.2016 Ausdrücke und primitive Typen Aufgabe 4.1 Java-Quiz Wahr Falsch Der Ausdruck

Mehr

1. Erzeugen eines neuen leeren Applets

1. Erzeugen eines neuen leeren Applets Eckart Modrow Java-Applets mit J++ S. 1 1. Erzeugen eines neuen leeren Applets Applets sind Java-Programme, die in einem Browser ablaufen. Zu diesem Zweck gehört zum Applet immer eine HTML-Seite, die das

Mehr

Universität Paderborn Prof. Dr. Stefan Böttcher. Kapitel 3: Java Applets

Universität Paderborn Prof. Dr. Stefan Böttcher. Kapitel 3: Java Applets Kapitel 3: Java Applets 1 Was sind Applets? kleine in Fenstern ausführbare Programme typisch: Aufruf im Browserfenster als Teil einer HTML-Seite Anfang des umgebenden HTML-Textes

Mehr

Beispiel zum Schaltungsentwurf mithilfe endlicher Automaten Ein Zähler modulo 3 mit Reset

Beispiel zum Schaltungsentwurf mithilfe endlicher Automaten Ein Zähler modulo 3 mit Reset Eckart Modrow Beispiel zum Schaltungsentwurf S. 1 Beispiel zum Schaltungsentwurf mithilfe endlicher Automaten Ein Zähler modulo 3 mit Reset Inhalt: 1. Bezug zum Unterricht 2. Beschreibung durch einen endlichen

Mehr

Datenbanken unter J++ - Teil 2

Datenbanken unter J++ - Teil 2 Eckart Modrow Datenbanken mit J++ S. 1 Datenbanken unter J++ - Teil 2 Inhalt: 3. Zugriff auf Datenbanken 3.1 OBDC-Treiber installieren und einrichten 3.2 Auf OBDC-Verknüpfungen zugreifen 3.3 SQL-Abfragen

Mehr

Klausur: Java (Liste P)

Klausur: Java (Liste P) Klausur: Java (Liste P) SS05 Erlaubte Hilfsmittel: Gebundene! Unterlagen (Skript mit Anmerkungen, eigene Mitschrift) und maximal ein Buch. Bitte keine losen Blätter. Lösung ist auf den Klausurbögen anzufertigen.

Mehr

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Kapitel 1 Der vierte Tag 1.1 Vererbung Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Sprachen. Unter Vererbung versteht man die Möglichkeit, Eigenschaften vorhandener

Mehr

Einführung in Java, Teil 7

Einführung in Java, Teil 7 Einführung in Java, Teil 7 (a) Weitere grundlegende Konzepte, und (b) Applikationen Vorlesung Informatik I, 8 & 13.12.2005, Daniel Huson Grundtypen und ihre Wrapper - Klassen Die Grunddatentypen in Java

Mehr

Wo sind wir? Übersicht lexikale Struktur von Java

Wo sind wir? Übersicht lexikale Struktur von Java Wo sind wir? Java-Umgebung Lexikale Konventionen Datentypen Kontrollstrukturen Ausdrücke Klassen, Pakete, Schnittstellen JVM Exceptions Java Klassenbibliotheken Ein-/Ausgabe Collections Threads Applets,

Mehr

Arbeitsblatt 5 EAD II NetBeans

Arbeitsblatt 5 EAD II NetBeans Arbeitsblatt 5 EAD II NetBeans Graphische Oberfläche für Uhrenanzeige mit NetBeans Für die Einführung in die Verwendung von NetBeans erstellen wir die graphische Oberfläche für die Uhr nun mit NetBeans.

Mehr

Grafische Benutzeroberflächen

Grafische Benutzeroberflächen Gilbert Beyer und Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik http://www.pst.ifi.lmu.de/lehre/wise-11-12/infoeinf WS11/12 Aufgabe Ein Benutzer soll zwei Zahlen in ein Programm

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 15 Einstieg in die Informatik mit Java Ereignisverwaltung und Layout-Typen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 15 1 Ereignis-Verwaltung 2 Layout-Typen GridLayout

Mehr

Objektorientierte Programmierung. Kapitel 18: Strings

Objektorientierte Programmierung. Kapitel 18: Strings Stefan Brass: OOP (Java), 18. Strings 1/16 Objektorientierte Programmierung Kapitel 18: Strings Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2013/14 http://www.informatik.uni-halle.de/

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 15/16. Kapitel 7. Grafische Benutzeroberflächen 1

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 15/16. Kapitel 7. Grafische Benutzeroberflächen 1 Kapitel 7 Grafische Benutzeroberflächen Grafische Benutzeroberflächen 1 Ziele Grafische Benutzeroberflächen (Graphical User Interfaces) als Anwendungsbeispiel für die objektorientierte Programmierung kennenlernen.

Mehr

Objektorientierte Programmierung. Kapitel 10: Strings

Objektorientierte Programmierung. Kapitel 10: Strings 10. Strings 1/16 Objektorientierte Programmierung Kapitel 10: Strings Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/ 10.

Mehr

Objektorientierte Programmierung. Kapitel 18: Strings

Objektorientierte Programmierung. Kapitel 18: Strings 18. Strings 1/16 Objektorientierte Programmierung Kapitel 18: Strings Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2013/14 http://www.informatik.uni-halle.de/ brass/oop13/ 18.

Mehr

Grafische Benutzeroberflächen

Grafische Benutzeroberflächen Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Action required now 1. Smartphone: installiere die App "socrative student"

Mehr

Variablen und Datentypen

Variablen und Datentypen Programmieren mit Python Modul 1 Variablen und Datentypen Selbstständiger Teil Inhaltsverzeichnis 1 Überblick 3 2 Teil A: Geldautomat 3 2.1 Einführung.................................. 3 2.2 Aufgabenstellung...............................

Mehr

Java Kurzreferenz Für Fortgeschrittene

Java Kurzreferenz Für Fortgeschrittene Java Kurzreferenz Für Fortgeschrittene 1. Initialisierung von Applets: Die Methode init Wenn ein Applet gestartet wird, werden immer zwei Methoden aufgerufen. Diese heissen init und start. Um gewisse Berechnungen

Mehr

Einführung in die Programmierung Blockkurs Java

Einführung in die Programmierung Blockkurs Java Michael Bader 19. 25. Februar 2003 Mittwoch Inhaltsübersicht Eigene Klassen definieren Vererbung Abstrakte Klassen Schnittstellen Polymorphismus Designbeispiele: Java-AWT Strings in Java Funktionen und

Mehr

Programmieren II. Java im Vergleich zu anderen Sprachen. Einführung: GUI. Einführung: Grafische Benutzeroberflächen. Dr.

Programmieren II. Java im Vergleich zu anderen Sprachen. Einführung: GUI. Einführung: Grafische Benutzeroberflächen. Dr. Programmieren II Dr. Klaus Höppner Hochschule Darmstadt SS 2008 1 / 22 2 / 22 Einführung: GUI Fast alle Programme besitzen mittlerweile eine grafische Benutzeroberfläche (engl: Graphical User Interface,

Mehr

Tutoraufgabe 1 (Zweierkomplement): Lösung: Programmierung WS16/17 Lösung - Übung 2

Tutoraufgabe 1 (Zweierkomplement): Lösung: Programmierung WS16/17 Lösung - Übung 2 Prof. aa Dr. J. Giesl Programmierung WS16/17 F. Frohn, J. Hensel, D. Korzeniewski Tutoraufgabe 1 (Zweierkomplement): a) Sei x eine ganze Zahl. Wie unterscheiden sich die Zweierkomplement-Darstellungen

Mehr

Ereignisse (Events) in Java

Ereignisse (Events) in Java Ereignisse (Events) in Java werden durch Aktionen an GUI-Komponenten ausgelöst Quelle: GUI-Komponente, die ein Ereignis als Instanz einer Event-Klasse erzeugt Beispiel: ein Button, der angeklickt wird

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12. Kapitel 7. Grafische Benutzeroberflächen

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12. Kapitel 7. Grafische Benutzeroberflächen 1 Kapitel 7 Ziele 2 (Graphical User Interfaces) als Anwendungsbeispiel für die objektorientierte Programmierung kennenlernen Benutzung von Vererbung zur Erstellung individueller GUI-Klassen durch Erweiterung

Mehr

Abschnitt 11: Beispiel: Die Klasse String (Teil 1)

Abschnitt 11: Beispiel: Die Klasse String (Teil 1) Abschnitt 11: Beispiel: Die Klasse String (Teil 1) 11. Beispiel: Die Klasse String (Teil 1) 11.1 Einführung 11.2 Die Klasse String und ihre Methoden 11.3 Effizientes dynamisches Arbeiten mit Zeichenketten

Mehr

Funktionen nur wenn dann

Funktionen nur wenn dann Funktionen nur wenn dann Funktionen können auch nur in bestimmten Fällen angewendet werden. Code wird nur in einem bestimmten Fall ausgeführt Code Ja Code Block wahr if wahr? Nein else Code Block Alternative

Mehr

Methoden und Wrapperklassen

Methoden und Wrapperklassen Methoden und Wrapperklassen CoMa-Übung IV TU Berlin 06.11.2012 CoMa-Übung IV (TU Berlin) Methoden und Wrapperklassen 06.11.2012 1 / 24 Themen der Übung 1 Methoden 2 Wrapper-Klassen CoMa-Übung IV (TU Berlin)

Mehr

(C) Sortieren und Suchen mit Java.-AWT Seite 1

(C)  Sortieren und Suchen mit Java.-AWT Seite 1 Sortieren sowie Suchen mit dem Halbierungsverfahren, programmiert mit der Java-AWT Funktion und Oberfläche sind in getrennten Klassen untergebracht. Die ganze Anwendung besteht damit aus drei Dateien:

Mehr

Diana Lange. Generative Gestaltung Komplexe Datentypen: String

Diana Lange. Generative Gestaltung Komplexe Datentypen: String Diana Lange Generative Gestaltung Komplexe Datentypen: String einführung In diesem Foliensatz geht es um den Datentyp String. Die Darstellung von Schrift wird in einem gesonderten Foliensatz behandelt:

Mehr

Instrumentierung und Dekodierung

Instrumentierung und Dekodierung 116 Copyright 1996-1998 by Axel T. Schreiner. All Rights Reserved. Instrumentierung und Dekodierung Erweiterung der Grafikklassen Das awt-paket erweitert alle Klassen für Grafikobjekte in java.awt, so

Mehr

GUI Programmierung mit JAVA Swing

GUI Programmierung mit JAVA Swing GUI Programmierung mit JAVA Swing Komponenten Layout Event Handling Imaging 2001 Thomas Weiler 1 JAVA Swing Bibliothek zur Erstellung grafischer Benutzerschnittstellen in JAVA Bietet Klassen für grafische

Mehr

DHBW Karlsruhe, Vorlesung Programmieren, Events Musterlösung

DHBW Karlsruhe, Vorlesung Programmieren, Events Musterlösung DHBW Karlsruhe, Vorlesung Programmieren, Events Musterlösung Aufgabe Editor package BA.GUI.Swing; import java.awt.*; import java.awt.event.*; import java.io.*; import java.util.logging.level; import java.util.logging.logger;

Mehr

Programmieren in Java -Eingangstest-

Programmieren in Java -Eingangstest- Programmieren in Java -Eingangstest- Nummer: 1. Studiengang: Informatik B.Sc. Informatik M.Sc. ESE B.Sc. ESE M.Sc. Sonstiges: Fachsemester: Bitte Fragen, die Sie nicht beantworten können unbedingt mit

Mehr

Test-Klausuraufgaben Softwaretechnik Fachbereich BW, für WINFO

Test-Klausuraufgaben Softwaretechnik Fachbereich BW, für WINFO Test-Klausuraufgaben Softwaretechnik Fachbereich BW, für WINFO Dipl.-Ing. Klaus Knopper 21.12.2006 Hinweis: Bitte schreiben Sie auf das Deckblatt und auf jede Seite Ihren Namen und Ihre Matrikelnummer,

Mehr

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2017/18. Vorbereitende Aufgaben

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2017/18. Vorbereitende Aufgaben Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2017/18 Fakultät für Informatik Lehrstuhl 14 Lars Hildebrand Übungsblatt 7 Besprechung: 4. 8.12.2017 (KW 49) Vorbereitende

Mehr

Programmierung WS12/13 Lösung - Übung 1 M. Brockschmidt, F. Emmes, C. Otto, T. Ströder

Programmierung WS12/13 Lösung - Übung 1 M. Brockschmidt, F. Emmes, C. Otto, T. Ströder Prof. aa Dr. J. Giesl Programmierung WS12/13 M. Brockschmidt, F. Emmes, C. Otto, T. Ströder Tutoraufgabe 1 (Syntax und Semantik): 1. Was ist Syntax? Was ist Semantik? Erläutern Sie den Unterschied. 2.

Mehr

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik GUI-Programmierung mit Swing

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik GUI-Programmierung mit Swing Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik GUI-Programmierung mit Swing AWT und Swing Java enthält zwei Pakete zur Programmierung graphischer Oberflächen. java.awt: Das Abstract

Mehr

Durch die Teil-von-Beziehung soll ausgedrückt werden, dass ein Objekt A als (physikalischer) Teil eines Objekts B angesehen wird. Insbesondere kann ei

Durch die Teil-von-Beziehung soll ausgedrückt werden, dass ein Objekt A als (physikalischer) Teil eines Objekts B angesehen wird. Insbesondere kann ei Lösungsvorschläge zur Klausur zum Kurs 1618 Sommersemester 2001 am 22.9.2001 Aufgabe 1 a) Benutzungsbeziehung: class Kennzeichen class Fahrzeug boolean gueltigeskennzeichen (Kennzeichen kz) Objekte der

Mehr

Interaktive Elemente, GUI-Programmierung

Interaktive Elemente, GUI-Programmierung Softwaretechnik für IM, WS2015/2016 http://knopper.net/bw/swt/ Übung 4 Interaktive Elemente, GUI-Programmierung 1. Schreiben Sie ein Programm (wahlweise als Applet oder Applikation, oder beides), das die

Mehr

Selbststudium OOP6 & ALG Programmieren 1 - H1103 Felix Rohrer

Selbststudium OOP6 & ALG Programmieren 1 - H1103 Felix Rohrer Kapitel 5.2 1. zu bearbeitende Aufgabe: 5.1 5.1: done 2. Auf Seite 133 wird in der Methode start()ein while-loop verwendet. Kreieren Sie ein Code-Fragment mit derselben Funktionalität unter Verwendung

Mehr

HTk: Ein GUI für Haskell

HTk: Ein GUI für Haskell HTk: Ein GUI für Haskell URL: www.informatik.uni-bremen.de/htk/ HTk basiert auf dem GUI von Tcl/Tk Haskell: monadische Programmieroberfläche strukturiert in viele Typklassen GUI-Objekte Event-Verarbeitung

Mehr

Institut für Programmierung und Reaktive Systeme 7. Juli Programmieren II. Übungsklausur

Institut für Programmierung und Reaktive Systeme 7. Juli Programmieren II. Übungsklausur Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 7. Juli 2017 Hinweise: Klausurtermine: Programmieren II Übungsklausur Programmieren I: 28. August

Mehr

Felder - Arrays. Typ feldname[] = new Typ[<ganze Zahl >]; Beispiel: double vektor[] = new double[5]; auch eine Initialisierung ist möglich.

Felder - Arrays. Typ feldname[] = new Typ[<ganze Zahl >]; Beispiel: double vektor[] = new double[5]; auch eine Initialisierung ist möglich. Felder Felder - Arrays Variable gleichen Types können in Feldern (array) zusammengefasst werden. Typ[] feldname; oder Typ feldname[]; dabei kann unter Benutzung des new-operators gleich die Dimension zugewiesen

Mehr

public class <<Name der Klasse>>{ << Allgemeine (Globale) Definitionen >> public static void Main(string[] args){

public class <<Name der Klasse>>{ << Allgemeine (Globale) Definitionen >> public static void Main(string[] args){ Erste Schritte mit C# und Sharp Develop Allgemeines zu C# und.net C# (lies: c sharp ) ist eine recht junge Programmiersprache. Sie wurde von Microsoft im Rahmen seiner.net (lies: dot net ) Initiative vor

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 13 Einstieg in die Informatik mit Java Zeichenketten Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 13 1 Zeichenketten 2 Erzeugen von Zeichenketten 3 Operatoren für

Mehr

Algorithmen und ihre Programmierung

Algorithmen und ihre Programmierung Veranstaltung Pr.-Nr.: 101023 Algorithmen und ihre Programmierung Veronika Waue WS 07/08 Einführung Definition: Algorithmus Ein Algorithmus ist eine genau definierte Folge von Anweisungen zur Lösung eines

Mehr

Abschnitt 7: Beispiel: Die Klasse String (Teil 1)

Abschnitt 7: Beispiel: Die Klasse String (Teil 1) Abschnitt 7: Beispiel: Die Klasse String (Teil 1) 7. Beispiel: Die Klasse String (Teil 1) 7.1 Einführung 7.2 Die Klasse String und ihre Methoden 7.3 Effizientes dynamisches Arbeiten mit Zeichenketten 7.4

Mehr

C# - Einführung in die Programmiersprache Methoden. Leibniz Universität IT Services

C# - Einführung in die Programmiersprache Methoden. Leibniz Universität IT Services C# - Einführung in die Programmiersprache Methoden Leibniz Universität IT Services 02.07.12 Methoden... sind Subroutinen in einer Klasse. können einen Wert an den Aufrufer zurückgeben. verändern die Eigenschaften

Mehr

Kleine Einführung in den Matlab-GUI-Editor

Kleine Einführung in den Matlab-GUI-Editor Kleine Einführung in den Matlab-GUI-Editor Um den Einstieg in den GUI-Bereich von Matlab ein wenig zu erleichtern, bespreche ich hier ein kleines Beispielprogramm. Es soll die vollen Stunden der Uhrzeit

Mehr

Ein String ist in Java eigentlich eine Klasse, wir können ihn aber zunächst als Datentyp betrachten, der zur Speicherung von Zeichenketten dient.

Ein String ist in Java eigentlich eine Klasse, wir können ihn aber zunächst als Datentyp betrachten, der zur Speicherung von Zeichenketten dient. Strings Ein String ist in Java eigentlich eine Klasse, wir können ihn aber zunächst als Datentyp betrachten, der zur Speicherung von Zeichenketten dient. Beispiel: String zeile = "Cusanus-Gymnasium Wittlich";

Mehr

Funktionale und Objekt-Orientierte Programmierkonzepte

Funktionale und Objekt-Orientierte Programmierkonzepte Funktionale und Objekt-Orientierte Programmierkonzepte Prof. Marc Fischlin, Wintersemester 15/16 Kapitel 17: GUI, Threads und verschachtelte Klassen 13. Oktober 2010 Dr.Marc Fischlin Kryptosicherheit 1

Mehr

Fragen zur OOP in Java

Fragen zur OOP in Java - 1 - Inhalt Was bedeutet OOP?... 2 Was versteht man unter einer Klasse?... 2 Wie nennt man die Mitglieder einer Klasse?... 2 Wie erzeugt man Objekte?... 2 Wie greife ich auf Member einer Klasse zu?...

Mehr

Arbeitsblätter für die Lehrveranstaltung OOP JAVA 1

Arbeitsblätter für die Lehrveranstaltung OOP JAVA 1 Fachhochschule Stralsund Fachbereich Maschinenbau Lehrgebiet Informatik Prof. Dr.-Ing. Ch.Wahmkow Arbeitsblätter für die Lehrveranstaltung OOP I. Aufbau eines Java-Programmes JAVA 1 Escape-Sequenzen zur

Mehr

Klausur Software-Entwicklung März 01

Klausur Software-Entwicklung März 01 Aufgabe 1: minimaler Punktabstand ( 2+5 Punkte ) Matrikelnr : In einem Array punkte sind Koordinaten von Punkten gespeichert. Ergänzen Sie in der Klasse Punkt eine Klassen-Methode (=static Funktion) punktabstand,

Mehr

Nachholklausur zur Vorlesung: Einführung in die objektorientierte Programmierung mit Java WS1415

Nachholklausur zur Vorlesung: Einführung in die objektorientierte Programmierung mit Java WS1415 Nachholklausur zur Vorlesung: Einführung in die objektorientierte Programmierung mit Java WS1415 Alexander Bazo 10. April 2015 Allgemeine Hinweise 1. Die Bearbeitungszeit beträgt 60 Minuten. Sie könne

Mehr

8.6 Visualisierung der Sortieralgorithmen

8.6 Visualisierung der Sortieralgorithmen 8.6 Visualisierung der Sortieralgorithmen 8.6.1 Problemstellung Schauen Sie sich den folgenden Quelltext eines Java-Applets an: import java.awt.*; import javax.swing.*; import java.awt.event.*; public

Mehr

Grundlagen der Programmierung APPLETS

Grundlagen der Programmierung APPLETS Grundlagen der Programmierung APPLETS Inhalt dieser Einheit Java-Applets: Java-Applets Vor- und Nachteile Sicherheitskonzepte Methoden Einbetten in HTML Graphical User Interface 2 Java Applets Applets

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Skript zur Vorlesung: Einführung in die Programmierung WiSe 2009 / 2010 Skript 2009 Christian Böhm, Peer Kröger, Arthur Zimek Prof. Dr. Christian Böhm Annahita Oswald Bianca Wackersreuther Ludwig-Maximilians-Universität

Mehr

Applets Belebung von Webseiten. Dipl.-Ing. Wolfgang Beer

Applets Belebung von Webseiten. Dipl.-Ing. Wolfgang Beer Applets Belebung von Webseiten Dipl.-Ing. Wolfgang Beer Was sind Applets? Java Klassen, die spezielle Richtlinien befolgen, um: "in Internet-Browsern lauffähig zu sein" Somit ist, komplexere Funktionalität,

Mehr

Funktionen nur wenn dann

Funktionen nur wenn dann Funktionen nur wenn dann Funktionen können auch nur in bestimmten Fällen angewendet werden. Code wird nur in einem bestimmten Fall ausgeführt Code Ja Code Block wahr if wahr? Nein else Code Block Alternative

Mehr

Integer div(integer i) Dividiert den Wert des aufrufenden Objektes durch den Wert von i und liefert den Quotienten zurück.

Integer div(integer i) Dividiert den Wert des aufrufenden Objektes durch den Wert von i und liefert den Quotienten zurück. Referenz für Integer Integer() Konstruktor für die Klasse Integer. Der Wert des Objektes ist null (=0). Integer(Integer i) Konstruktor für die Klasse Integer. Der Wert des Objektes ist gleich dem des Objektes

Mehr

3. Klassen Statische Komponenten einer Klasse. Klassenvariablen

3. Klassen Statische Komponenten einer Klasse. Klassenvariablen Klassenvariablen Wir wollen die Zahl der instantiierten Studentenobjekte zählen. Dies ist jedoch keine Eigenschaft eines einzelnen Objektes. Vielmehr gehört die Eigenschaft zu der Gesamtheit aller Studentenobjekte.

Mehr

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke Java 2 Markus Reschke 07.10.2014 Datentypen Was wird gespeichert? Wie wird es gespeichert? Was kann man mit Werten eines Datentyps machen (Operationen, Methoden)? Welche Werte gehören zum Datentyp? Wie

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung Exkurs: Graphische Benutzeroberflächen FH Braunschweig/Wolfenbüttel Sommersemester 2009 1 / 22 Gliederung I Wiederholung Klassen, Objektorientierung (Kapitel 10,11) Exkurs:

Mehr

Algorithmen, Datenstrukturen und Programmieren I WS 2001/2002

Algorithmen, Datenstrukturen und Programmieren I WS 2001/2002 1. Welches Ergebnis liefern die folgenden Operationen? Geben Sie zunächst einen educated guess an und überprüfen Sie diesen dann mittels einer selbstgeschriebenen Java-Applikation. a) x = 7 + 3 * 6 / 2-1;

Mehr

Durch die Möglichkeit, Ein- und Ausgaben auf der Konsole durchzuführen, kann man auch systematisch das Verhalten von Klassen analysieren.

Durch die Möglichkeit, Ein- und Ausgaben auf der Konsole durchzuführen, kann man auch systematisch das Verhalten von Klassen analysieren. Durch die Möglichkeit, Ein- und Ausgaben auf der Konsole durchzuführen, kann man auch systematisch das Verhalten von Klassen analysieren. 267 Das hier skizzierte Problem basiert auf der strategischen Entscheidung

Mehr

Swing : Komponeneten I (Teil 1) Was ist Swing?

Swing : Komponeneten I (Teil 1) Was ist Swing? Was ist Swing? 1 Unterschied zu AWT (Abstract window Toolkit) Zusätzliche Komponenten von Swing,die zu Oberflächenerzeugung genutzt werden können: Keyboard Accelerators, also Tastenkombination zur Steuerung

Mehr

Tag 4 Repetitorium Informatik (Java)

Tag 4 Repetitorium Informatik (Java) Tag 4 Repetitorium Informatik (Java) Dozent: Michael Baer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Arrays (Reihungen)

Mehr

Institut für Programmierung und Reaktive Systeme. GUIs mit Swing. Markus Reschke

Institut für Programmierung und Reaktive Systeme. GUIs mit Swing. Markus Reschke GUIs mit Swing Markus Reschke 28.08.2014 Beispiel: Ein einfaches GUI-Programm Siehe Painter.java Markus Reschke GUIs mit Swing 2 GUI Frameworks in Java AWT war das erste GUI-Framework, welches mit Java

Mehr

Praktikum 1: Einführung, BMI Rechner

Praktikum 1: Einführung, BMI Rechner Praktikum 1: Einführung, BMI Rechner Aufgabe 1: Erstellen und Ausführen einer Java Konsolen-Anwendung Für dieses Semester können Sie wieder NetBeans verwenden. Sie sollten Java auch schon installiert haben.

Mehr

Institut für Programmierung und Reaktive Systeme 19. August Programmier-Labor. 1. Übungsblatt

Institut für Programmierung und Reaktive Systeme 19. August Programmier-Labor. 1. Übungsblatt echnische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 19. August 2014 Aufgabe 1: Programmier-Labor 1. Übungsblatt a) Welche primitiven Datentypen kennt

Mehr

Ab jetzt: Java ohne Kara

Ab jetzt: Java ohne Kara Java ohne Kara Ab jetzt: Java ohne Kara Ziel: Erfahrungen sammeln mit ersten Java Programmen JavaKara -> Java Ablauf in JavaKara: 1. Programm schreiben 2. Kompilieren 3. Programm starten Ablauf in Java

Mehr

Übung Informatik I - Programmierung - Blatt 3

Übung Informatik I - Programmierung - Blatt 3 RHEINISCH- WESTFÄLISCHE TECHNISCHE HOCHSCHULE AACHEN LEHR- UND FORSCHUNGSGEBIET INFORMATIK II RWTH Aachen D-52056 Aachen GERMANY http://programmierung.informatik.rwth-aachen.de LuFG Informatik II Prof.

Mehr

Arrays. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 3. 1 Modulübersicht 3

Arrays. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 3. 1 Modulübersicht 3 Programmieren mit Java Modul 3 Arrays Theorieteil Inhaltsverzeichnis 1 Modulübersicht 3 2 Eindimensionale Arrays 3 2.1 Arrays deklarieren.............................. 3 2.2 Arrays erzeugen................................

Mehr

Punkte. Teil 1. Teil 2. Summe. 1. Zeigen Sie, dass der untenstehende Suchbaum die AVL-Bedingung verletzt und überführen Sie ihn in einen AVL-Baum.

Punkte. Teil 1. Teil 2. Summe. 1. Zeigen Sie, dass der untenstehende Suchbaum die AVL-Bedingung verletzt und überführen Sie ihn in einen AVL-Baum. Hochschule der Medien Prof Uwe Schulz 1 Februar 2007 Stuttgart Klausur Informatik 2, EDV-Nr 40303/42022 Seite 1 von 2 Name: Matr Nr: Teil 1: Keine Hilfsmittel Bearbeitungszeit: 20 Minuten Teil 1 Teil 2

Mehr

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML. JavaScript JavaScript wird direkt in HTML-Dokumente eingebunden. Gib folgende Zeilen mit einem Texteditor (Notepad) ein: (Falls der Editor nicht gefunden wird, öffne im Browser eine Datei mit der Endung

Mehr

Methoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom

Methoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom Einstieg in die Informatik mit Java, Vorlesung vom 2.5.07 Übersicht 1 2 definition 3 Parameterübergabe, aufruf 4 Referenztypen bei 5 Überladen von 6 Hauptprogrammparameter 7 Rekursion bilden das Analogon

Mehr

1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH

1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH 1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH Die Umgebungsvariable CLASSPATH kann im Hamster-Simulator sowohl für Compiler als auch für die Ausführung des Hamster-Programms gesetzt werden: Hierdurch

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Semestralklausur Einführung in die Programmierung Semestralklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList

Mehr

Kapitel 13. Abstrakte Methoden und Interfaces. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz

Kapitel 13. Abstrakte Methoden und Interfaces. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz Kapitel 13 Abstrakte Methoden und Interfaces 13. Abstrakte Klassen und Interfaces 1. Abstrakte Klassen 2. Interfaces und Mehrfachvererbung Folie 12.2 Abstrakte Methoden und Klassen Manchmal macht es überhaupt

Mehr