Java Schulung (Java 2 Java Development Kit 5 / 6)

Größe: px
Ab Seite anzeigen:

Download "Java Schulung (Java 2 Java Development Kit 5 / 6)"

Transkript

1 5. Ausnahmebehandlung mit Exceptions 5.1 Auf Laufzeitfehler reagieren Während des Programmablaufs können Fehler auftreten, die zum Zeitpunkt des Kompilierens nicht abzusehen sind (Laufzeitfehler) tritt Fehler auf, wird Exception ausgelöst Auslösen einer Exception wird throw genannt Exceptions werden immer innerhalb einer Methode ausgelöst Behandeln einer Exception wird catch gennant Klassifizierung der Exceptions in Java existiert Klassenhierarchie für Exceptions durch Auslösen einer Exception wird Exception-Objekt erzeugt Klasse Erläuterung Throwable Superklasse aller Fehlerklassen; besitzt Methode getmessage(), die optionalen Informationstext ausgibt Error Superklasse aller Exceptions, die hauptsächlich im Zusammenhang mit der VM auftreten; sollten nicht abgefangen werden (Standardbehandlung) Exception Exceptions, die im Programm abgefangen werden können, sind Subklassen der Klasse Exception; eigene Exceptions von ihr abgeleitet RuntimeException Treten aufgrund von Programmierfehlern auf; sollten durch ausreichende Tests und sorgfältige Programmierung vermeidbar sein Andere Diese Ausnahmen treten durch nicht kontrollierbare Situtationen ein (z.b. Öffnen einer nicht existierenden Datei) Unterschied Ausnahmen und Fehler Exception ist ein behebbarer Fehler, der abgefangen werden kann / muss; Programm kann nach Fehlerbehandlung stabil weiterlaufen Error ist in der Regel schwerer Fehler, der zumeist zum Beenden des Programms führt Kontrollierte und unkontrollierte Exceptions Ausnahmen vom Typ Error und RuntimeException sind unkontrollierte Exception; alle anderen sind kontrollierte Exceptions unkontrollierte Exception müssen nicht abgefangen werden Exceptions vom Typ Error können nicht sinnvoll behandelt werden, da Fehlerursache im VM liegt RuntimeException kann man durch sorgfältiges Programmieren vermeiden; für unkontrollierte Exceptions existiert Standardbehandlung kontrollierte Exceptions muss man im Programm behandeln; anderfalls Compilerfehler Beispiel für das Auftreten einer Exception String s = "ABC"; int i = Integer.parseInt(s); System.out.println("Die Zahl ist: " + i); Marcel Wieczorek S e i t e

2 Ausgabe Exception in thread "main" java.lang.numberformatexception: For input string: "ABC" at java.lang.numberformatexception.forinputstring(numberformatexception.java:48) at java.lang.integer.parseint(integer.java:447) at java.lang.integer.parseint(integer.java:497) at de.assona.exceptions.exceptionbeispiel.main(exceptionbeispiel.java:13) 5.2 Exceptions abfangen und behandeln Exceptions, die direkt oder indirekt von der Klasse Exception abgeleitet sind, muss man behandeln oder weitergeben (nicht bei Klassen die von RuntimeException oder deren Subklassen abgeleitet wurden) welche Exception eine Methode auslösen kann steht in der Java Dokumentation (throws Exception) Syntax für eine Exception-Behandlung // regulärer Programmcode catch (Exception e) { // Behandlung für Exception vom // jeweiligen Typ finally { // wird immer ausgeführt wenn mehrere Exceptions abgefangen werden müssen, müssen catch-blöcke so angeordnet werden, dass Superklassen von Exceptions nach jeweiligen Subklassen abgefangen werden (umgekehrte Hierarchie) wichtige Methoden der Klasse Throwable Methode Erläuterung String getmessage() Gibt an, was passiert ist; liefert Text, der beim Erzeugen des Exception- Objekts übergeben wurde String tostring() Liefert String, der sich aus Namen der Exception-Klasse und der Ausgabe von getmessage() zusammensetzt printstacktrace() Gibt an, wo etwas passiert ist; gibt Inhalt des Stacks auf Standardfehlerausgabe aus int[] a = new int[2]; a[1] = 2; a[2] = 3; catch (ArrayIndexOutOfBoundsException e) { System.out.println("Sie haben die Feldgrenzen verletzt."); System.out.println(e.getMessage()); System.out.println(e.toString()); Ausgabe Sie haben die Feldgrenzen verletzt. 2 java.lang.arrayindexoutofboundsexception: 2 Marcel Wieczorek S e i t e

3 Exceptions weitergeben public ThrowsBeispiel() throws ClassNotFoundException { Class<?> specialclass; // Die Klasse xxx existiert nicht specialclass = Class.forName("xxx"); /** args */ ThrowsBeispiel tb = new ThrowsBeispiel(); catch (ClassNotFoundException e) { System.out.println("Die Klasse wurde nicht gefunden."); Tipps für die Weitergabe von Exceptions keine RuntimeExceptions weitergeben (Standardbehandlung) Methoden in abgeleiteten Klassen können nicht mehr Exceptions weitergeben als in der Basisklasse; daher in bestimmten Fällen in der Basisklasse Exceptions angeben, die erst in der abgeleiteten Klasse auftreten können Warum überhaupt weitergeben? Wenn in eigener Klasse ein Zustand eintritt, der dem Anwender der Klasse übermittelt werden soll, kann Exception ausgelöst werden; diese muss der Anwender abfangen (daher muss Exception zunächst weitergegeben werden) Exceptions auslösen public void thrownew(int i) throws IndexOutOfBoundsException { if (i < 1 && i > 100) throw new IndexOutOfBoundsException( "i liegt nicht im Interverall "); System.out.println("i hat den Wert " + i); ThrowNewBeispiel tb = new ThrowNewBeispiel(); tb.thrownew(125); catch (IndexOutOfBoundsException e) { e.printstacktrace(); 5.3 eigene Exceptions erzeugen um eigene Exceptions zu erzeugen, leitet man neue Klasse von der Klasse Exception ab neue Exceptions sollte nur von der Klasse Exception selbst und deren Subklassen abgeleitet werden, da diese behandelt werden müssen Name der neuen Exception sollte sich aus Beschreibung der Funktionalität und Namen der alten Klasse zusammensetzen (z.b. class RealNumberFormatException extends NumberFormatException) Marcel Wieczorek S e i t e

4 Beispiel package de.assona.exceptions; /** Marcel Wieczorek */ public class IndexOutOfMinMaxException extends Exception { public IndexOutOfMinMaxException() { super(); public IndexOutOfMinMaxException(String message) { super(message); public IndexOutOfMinMaxException(int min, int max) { super("der Index liegt nicht zwischen " + min + " und " + max); 6. Assertions mit Assertions kann man während der Entwicklungszeit zu Testzwecken gezielt überwachen Behauptung wird als so Bedingung formuliert, dass sie true liefert, wenn das Programm ordnungsgemäß abläuft trifft Behauptung nicht zu, tritt AssertionError auf; Programm wird sofort beendet Auswertung der Assertions wird bei Ausführung des Interpreters eingeschaltet (standardmäßig ausgeschaltet) dürfen daher auch nicht verwendet werden, um Programmablauf zu sichern (könnten ausgeschaltet werden) sollten keine Seiteneffekte bei Auswertung der Ausdrücke haben (z.b. keine Methode aufrufen, die den Zustand des Programms ändert) 6.1 Assertions einsetzen final int TEMPARTURE_STANDARD = 20; int i = 0; // Parameter auslesen if (args.length > 0) i = Integer.parseInt(args[0]); if (!(i >= 10 && i <= 50)) i = TEMPARTURE_STANDARD; catch (NumberFormatException e) { System.out.println("Als Parameter bitte " + "eine Zahl zwischen 10 und 50 eingeben"); // prüfen, ob i zwischen 10 und 50 assert (i >= 10 && i <= 50) : "ASSERT: Die Zahl " + i + " lag nicht zwischen 10 und 50"; System.out.println("Eingestellte Temperatur: " + i); Marcel Wieczorek S e i t e

5 6.2 Assertions bei der Programmausführung auswerten Einschalten java -ea[:classname] [:PackageName] Ausschalten java -da[:classname] [:PackageName] 7. Mit Dateien arbeiten 7.1 Die Klasse File und ihre Konstruktoren File-Objekt repräsentiert tatsächliche Datei im Dateisystem Wurde eingeführt, um Dateioperationen plattformunabhängig durchzuführen (Einschränkungen z.b. bezüglich der Rechtevergabe) File-Objekt wird durch einen Pfadnamen spezifiziert (kann absolut oder relativ sein) Konstruktorübersicht Konstruktor Erläuterung File ( String pathname ) Erzeugt ein File-Objekt aus einem Dateinamen. File ( String parent, String child ) Setzt ein neues File-Objekt aus einem Basisverzeichnis und einem weiteren Teil zusammen, der auch wieder ein Verzeichnis oder ein Dateiname sein kann. File ( URI uri ) Fragt von uri den Pfadnamen (uri.getpath()) und erzeugt ein neues File-Objekt. Ist uri gleich null, folgt eine NullPointerException. Ist die URI falsch formuliert, gibt es eine IllegalArgumentException. Pfadtrenner Um plattformunabhängig zu bleiben, sollte Pfadtrenner aus öffentlicher Konstante ausgelesen werden File.separatorChar File.separator System.getProperty("file.separator") 7.2 Die Methoden der Klasse File Methode Erläuterung String getabsolutepath() Liefert den absoluten Pfad. Ist das Objekt kein absoluter Pfadname, so wird ein String aus aktuellem Verzeichnis, Separator-Zeichen und Dateinamen des Objekts verknüpft. String getname() Gibt den Dateinamen zurück. String getparent() Gibt den Pfadnamen des Vorgängers zurück. String getpath() Gibt den Pfadnamen zurück. boolean isabsolute() true, wenn der Pfad in der systemabhängigen Notation absolut ist. boolean exists() Liefert true, wenn das File-Objekt eine existierende Datei oder einen existierenden Ordner repräsentiert. boolean isdirectory() Gibt true zurück, wenn es sich um ein Verzeichnis handelt. boolean isfile() true, wenn es sich um eine»normale«datei handelt (kein Verzeichnis und keine Datei, die vom zugrunde liegenden Betriebssystem als besonders markiert wird; Blockdateien, Links unter Unix). Marcel Wieczorek S e i t e

6 7.3 Die Klasse RandomAccessFile und ihre Konstruktoren Es wird ein Dateizeiger verwaltet wird, den man selbst setzen kann Dateizugriff ist wahlfrei (im Gegensatz zum Datenstrom bei File, der eine strenge Sequenz erfordert) Konstruktoren Konstruktor RandomAccessFile ( String name, String mode ) RandomAccessFile ( File file, String mode ) Erläuterung Öffnet die Datei. Ob die Datei zum Lesen oder Schreiben vorbereitet ist, bestimmt der String mode mit gültigen Belegungen»r«oder»rw«. Öffnet die Datei. Ob die Datei zum Lesen oder Schreiben vorbereitet ist, bestimmt der String mode mit gültigen Belegungen»r«oder»rw«. 7.4 Die Methoden der Klasse RandomAccessFile Aus dem RandomAccessFile lesen Methode Erläuterung int read() Liest genau ein Byte und liefert es als int zurück. int read( byte[] b ) Liest b.length() viele Byte und speichert sie im Feld b. int read Liest len Byte aus der Datei und schreibt sie in das Feld b ab der ( byte[] b, int off, int len ) Position off. Wurde mehr als ein, aber weniger als len Bytes gelesen, wird die gelesene Größe als Rückgabewert zurückgegeben. final double readdouble() (, final float readfloat()) Liest einen primitiven Datentyp. final void readfully Versucht, den gesamten Puffer b zu füllen. ( byte[] b ) final String readline() Liest eine Textzeile, die das Zeilenendezeichen \r oder \n beziehungsweise eine Kombination \r\n abschließen. Die letzte Zeile muss nicht so abgeschlossen sein, denn ein Dateiende zählt als Zeilenende. 7.5 Grundlagen zu Streams sequenzielle Ein- und Ausgaben werden Streams genannt Für die byteorientierte Verarbeitung (z.b. PDF- oder MP3-Dateien) gibt es andere Klassen als für zeichenorientierte Verarbeitung (Textdokumente, z.b. HTML) Sinnvoll, da Einlesen von Unicode-Dateien ist vereinfacht wurde (Daten müssen nicht auf festgelegten Zeichensätzen arbeiten; Konvertierung von Unicode nach Byte im Hintergrund) Unterschieden werden byteorientierte Streams und zeichenorientierte Streams Streams und ihre Klassen Aktion Bytes (oder Byte-Arrays) Zeichen (oder Zeichen-Arrays, Strings) Aus Dateien lesen [File]InputStream [File]Reader In Dateien schreiben [File]OutputStream [File]Writer Marcel Wieczorek S e i t e

7 7.6 Character-Streams schreiben Von der Superklasse Writer werden alle Klassen zur Ausgabe von Character-Streams abgeleitet (z.b. FileWriter) FileWriter ist ein spezieller Writer, der Ausgaben in eine Datei erlaubt Methoden aus Oberklassen werden nicht überschrieben bzw. implementiert Zusätzliche Konstruktoren Konstruktoren Konstruktor FileWriter ( String filename, boolean append ) FileWriter ( FileDescriptor fd ) Erläuterung Erzeugt einen Ausgabestrom und hängt die Daten an eine existierende Datei an, wenn append gleich true ist. Eine weitere Möglichkeit, Daten hinten anzuhängen, bietet die Klasse RandomAccessFile oder FileOutputStream. Erzeugt einen Ausgabestrom zum Schreiben in eine Datei. Existiert die Datei bereits, wird die Datei gelöscht. Abgeleitete Klassen der Klasse Writer Klasse Erläuterung BufferedWriter Schreibt Zeichen, Strings oder Arrays in einen gepufferten Character- Stream und ermöglicht so ein effektives Schreiben CharArrayWriter Die Zeichen werden in ein Character-Array geschrieben; dieser Puffer wächst automatisch während des Schreibens FilterWriter Schreibt gefilterte Character-Streams (abstrakt) OutputStreamWriter Schreibt die zeichen in einen Ausgabestrom und wandelt dabei den Character-Stream in einen Byte-Stream um FileWriter Eine von OutputStreamWriter abgeleitete Klasse, die die Ausgabe in eine Datei realisiert PipedWriter Dient zur Ausgabe in eine Pipe (Pipes werden zur Realisierung der Ein- und Ausgabeströme von Threads verwendet) PrintWriter Gibt alle primitiven Datentypen und Strings im Textformat aus StringWriter Schreibt Zeichen in einen Stringpuffer 7.7 Character-Streams lesen Abgeleitete Klassen der Klasse Reader Klasse Erläuterung BufferedReader Liest Zeichen, Strings oder Arrays aus einem Character-Stream, puffert diese und ermöglicht so ein effektives Lesen CharArrayReader Die Zeichen werden aus einem Character-Array gelesen FilterReader Filtert Character-Streams während des Lesens (abstrakt) InputStreamReader Eingabestrom wird als Byte-Stream gelesen und in einen Character-Stream umgewandelt FileReader Eine von InputStreamReader abgeleitete Klasse, die das Lesen aus einer Datei realisiert PipedReader Dient zum Lesen aus einer Pipe StringReader Gibt alle primitiven Datentypen und Strings im Textformat aus StringWriter Liest Zeichen aus einem String-Puffer Marcel Wieczorek S e i t e

8 7.8 Mit Character-Streams und Textdateien arbeiten OutputStreamWriter und FileWriter Writer fw = null; // FileWriter erzeugen fw = new FileWriter("tmp" + separator + "filewriter.txt"); fw.write("es war einmal..."); fw.append('\n'); catch (IOException e) { System.out.println("Datei konnte nicht erstellt werden."); finally { /* * FileWriter schließen: Mit dem Schließen des Writers wird die * Datei geschrieben. */ if (fw!= null) fw.close(); catch (IOException e) { e.printstacktrace(); InputStreamReader und FileReader Reader f = null; // FileReader erzeugen f = new FileReader("tmp" + separator + "filewriter.txt"); // Datei auslesen und Inhalt auf der // Konsole ausgeben for (int c; (c = f.read())!= -1;) System.out.print((char) c); catch (IOException e) { System.out.println("Datei konnte nicht gelesen werden."); finally { // FileReader schließen f.close(); catch (Exception e) { e.printstacktrace(); 7.9 Character-Streams puffern Ein- und Ausgabeströme werden gepuffert, um die Ein- und Ausgabe effektiver zugestalten Daten werden beim Ein- und Auslesen zwischengespeichert und gelangen erst dann zum Ziel, wenn Puffer voll ist oder entsprechende Methode aufgerufen wird Marcel Wieczorek S e i t e

9 Ausgabeströme für die Pufferung von Ausgabeströmen ist es erforderlich, Character-Streams zu schachteln Konstruktor der Klasse BufferedWriter muss ein weiteres Writer-Objekt übergeben werden (z.b. vom Typ FileWriter) wird die write()-methode aufgerufen, werden Daten nicht gleich an den FileWriter weitergeleitet, sondern erst dann, wenn Puffer geleert wird final char ca[] = { 'k', 'n', 'r', '0', '1' ; final FileWriter fw; final BufferedWriter bw; // FileWriter erzeugen fw = new FileWriter("tmp" + separator + "bufwriter.txt"); // BufferedWriter erzeugen bw = new BufferedWriter(fw); // char array 100 mal zeilenweise // in die Datei schreiben for (int i = 0; i < 100; i++) { bw.write(ca); bw.newline(); // BufferedWriter schließen bw.close(); catch (IOException e) { System.out.println("Datei konnte nicht geschrieben werden."); Eingabeströme final StringBuilder builder = new StringBuilder(); final FileReader fr; final BufferedReader br; // FileReader erzeugen fr = new FileReader("tmp" + separator + "bufwriter.txt"); // BufferedReader erzeugen br = new BufferedReader(fr); // Dateiinhalt auslesen und an // Stringbuilder anhängen String s = br.readline(); while (s!= null) { builder.append(s); builder.append("\n"); s = br.readline(); // BufferedReader schließen br.close(); catch (IOException e) { System.out.println("Datei konnte nicht gelesen werden."); System.out.println(builder); Marcel Wieczorek S e i t e

10 8. Nützliche Klassen und Packages 8.1 Zufallszahlen Random public long randomize_1() { Random random = new Random(); long value = random.nextlong(); return value; Math.random() public long randomize_2(long range) { long value = (long) (Math.random() * range) + 1; return value; 8.2 Datum und Zeit Date Speichern eines Datum-/Zeitwertes (als 64-Bit-Long-Variable) in ms (Millisekunden) seit h UTC (negative Werte sind vor 1970) Ab JDK 1.1 wurde Calendar zur Bearbeitung von Datumswerten eingeführt und fast alle Methoden von Date als Deprecated markiert Calendar und GregorianCalendar Berechnungen mit Datums- und Zeitwerten SimpleDateFormat Formatierte Ein-/Ausgabe von Datums- und Zeitwerten Marcel Wieczorek S e i t e

11 Benutzung von Date, SimpleDateFormat und GregorianCalendar /* * Verschiedene Verfahren zur Erzeugung eines Kalender-Objekts: */ Calendar mycal1 = Calendar.getInstance(); // lokales Kalendersystem mit aktueller Zeit Calendar mycal2 = new GregorianCalendar(); // GregorianCalendar mit aktueller Zeit Calendar mycal3 = new GregorianCalendar(2008,Calendar.JUNE,6); // GregorianCalendar mit vorgegebener Zeit // Setzen von Jahr + Monat + Tag: mycal2.set( 2008, Calendar.JUNE, 6 ); // ändert so nicht Stunden, Minuten und Sekunden mycal2.settime( mycal2.gettime() ); // nicht mehr unbedingt notwendig seit JDK 1.2 // Zeit setzen mit Date: mycal2.settime( new Date() ); // Einzelne Felder extrahieren: int year = mycal2.get( Calendar.YEAR ); int mnth = mycal2.get( Calendar.MONTH ) + 1; // nicht vergessen die 1 zu addieren int date = mycal2.get( Calendar.DATE ); System.out.println( date + "." + mnth + "." + year ); // für Formatierung ist SimpleDateFormat besser // Calendar ist gut geeignet, um Berechnungen durchzuführen, // z.b. um den um ein Jahr erhöhten Zeitwert zu berechnen: mycal2.add( Calendar.YEAR, 1 ); // Umwandlung von Calendar in Date: Date mydate = mycal2.gettime(); System.out.println( mydate ); Berechnung von Datums-Differenzen Calendar cal_1 = new GregorianCalendar(); Calendar cal_2 = new GregorianCalendar(); cal_1.set( 2007, Calendar.MARCH, 1, 0, 0, 0 ); // erster Zeitpunkt cal_2.set( 2008, Calendar.APRIL, 2, 0, 0, 0 ); // zweiter Zeitpunkt long time = cal_2.gettime().gettime() - cal_1.gettime().gettime(); // Differenz in ms long days = Math.round( (double)time / (24d * 60d * 60d * 1000d) ); // Differenz in Tagen System.out.println( "Zeit-Differenz in Tagen: " + days ); 8.3 Die Klasse System und ihre Methoden beinhaltet nützliche Felder und Methoden kann nicht instanziiert werden zu den Werkzeugen, die die Klasse System liefert gehören Standard-Input-, Standard-Output und Error-Output-Streams sowie der Zugriff auf extern definierte Properties und Umgebungsvariablen Marcel Wieczorek S e i t e

12 Felder Feldname static PrintStream err static InputStream in static PrintStream out Erläuterung Der Standard-Error-OutputStream Der Standard-InputStream Der Standard-OutputStream Methoden Methode Erläuterung Properties getproperties() Liefert Properties-Objekt zurück, das wie eine normale Map verwaltet wird und Systemeigenschaften enthält void exit (int status) Dient zum Verlassen der Anwendung (lt. Konvention wird bei normaler Beendigung 0 übergeben) void gc() Ruft den Garbage-Collector auf Übung 1. In einem Programm Test sollen die Schlüssel-Wert-Paare der Systemumgebungseinträge sowie die der Systemeigenschaften in eine Datei geloggt werden. Der dazu notwendige Logger ist bereits fertig implementiert. Ihr müsst euch nur noch mit dessen Funktionalität vertraut machen. In der Klasse Environment müssen zum Auslesen der Eigenschaften die beiden Methoden logenv() und logprops() implementiert werden, die die Einträge formatiert an den Logger übergeben. 2. Im nächsten Schritt soll die zeitliche Differenz zwischen der ersten und der letzten Log- Ausgabe ermittelt und auf der Konsole ausgegeben werden. Zu diesem Zweck loggt der Logger die aktuelle Systemzeit in Nanosekunden bereits mit. Ihr müsst aus der in Schritt 1 erstellten Log-Datei nur noch diese beiden Zeiten extrahieren und die Differenz berechnen. Zu diesem Zweck ist in der Klasse Test bereits die Methode nanodifference(string file) implementiert worden. Sie muss allerdings noch fertiggestellt werden. 3. Die in Schritt 1 erstellte Log-Datei soll nun in eine exakte Kopie überführt werden. Dazu ist bereits eine Klasse Copy erstellt worden, in der ihr die Methode copyfile(string filename) mit entsprechender Funktionalität füllen sollt. Der Kopiervorgang soll zeilenweise und gepuffert durchgeführt werden. Am besten schreibt ihr jede gelesene Zeile gleich in die Kopie-Datei. Marcel Wieczorek S e i t e

Gliederung Grundlagen Schlüsselworte try-catch Fehlerobjekte Fehlerklassen Schlüsselwort finally Schlüsselwort throws selbst erstellte Exceptions

Gliederung Grundlagen Schlüsselworte try-catch Fehlerobjekte Fehlerklassen Schlüsselwort finally Schlüsselwort throws selbst erstellte Exceptions try-catch Schlüsselworte try-catch e Schlüsselwort Schlüsselwort selbst erstellte ermöglichen die Behandlung von Fehlern, die zur Laufzeit entstehen. try-catch in C: Fehler führt immer zum Abbruch des

Mehr

Javakurs zu Informatik I. Henning Heitkötter

Javakurs zu Informatik I. Henning Heitkötter Javakurs zu Informatik I Arrays vergleichen Implementieren Sie folgende Methode, die prüft, ob die Elemente der beiden Arrays an jeder Position übereinstimmen: public static boolean identisch(int[] a,

Mehr

Vorlesung Programmieren. Java I/O: Input und Output mit Java. Ein-/Ausgabe von Daten. Java I/O. Heute. Grundlage fast aller Programme

Vorlesung Programmieren. Java I/O: Input und Output mit Java. Ein-/Ausgabe von Daten. Java I/O. Heute. Grundlage fast aller Programme Vorlesung Programmieren Java I/O Dr. Dennis Pfisterer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/pfisterer Java I/O: Input und Output mit Java Heute Ein-/Ausgabe

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java Dateien lesen und schreiben 2 Übersicht der heutigen Inhalte File Streams try-with-resources Properties csv-dateien 3 Klasse File Die Klasse java.io.file bietet Unterstützung im Umgang

Mehr

Programmieren I. Kapitel 15. Ein und Ausgabe

Programmieren I. Kapitel 15. Ein und Ausgabe Programmieren I Kapitel 15. Ein und Ausgabe Kapitel 15: Ein und Ausgabe Ziel: einen kleinen Einblick in die vielfältigen IO Klassen geben Grober Überblick Klasse File zur Verwaltung von Dateien Random

Mehr

Java: Vererbung. Teil 3: super() www.informatikzentrale.de

Java: Vererbung. Teil 3: super() www.informatikzentrale.de Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und

Mehr

Java-Schulung Grundlagen

Java-Schulung Grundlagen Java-Schulung Grundlagen Java 2 Standard Edition JDK 5 / 6 31.05.2008 Marcel Wieczorek 1 Themenübersicht Basiswissen Objektorientierung Datentypen Fehlerbehandlung Sonstiges Einführung Klassen, Strings

Mehr

Einführung in Javadoc

Einführung in Javadoc Einführung in Javadoc Johannes Rinn http://java.sun.com/j2se/javadoc Was ist Javadoc? Javadoc ist ein Werkzeug, dass eine standardisierte Dokumentation für die Programmiersprache Java unterstützt. Vorteil:

Mehr

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger [email protected] WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113

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 Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 14/15. Kapitel 11. Fehler und Ausnahmen 1

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 14/15. Kapitel 11. Fehler und Ausnahmen 1 Kapitel 11 Fehler und Ausnahmen Fehler und Ausnahmen 1 Ziele Fehlerquellen in Programmen und bei der Programmausführung verstehen Das Java-Konzept der Ausnahmen als Objekte kennenlernen Ausnahmen auslösen

Mehr

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden. Einfache Ein- und Ausgabe mit Java 1. Hallo-Welt! Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden. /** Die Klasse hello sendet einen

Mehr

SEP 114. Design by Contract

SEP 114. Design by Contract Design by Contract SEP 114 Design by Contract Teile das zu entwickelnde Programm in kleine Einheiten (Klassen, Methoden), die unabhängig voneinander entwickelt und überprüft werden können. Einheiten mit

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java Fehlerbehandlung und Ein- und Ausgabe Titel der Präsentation 2 Fehler = Exceptions? Die Exception- bzw. Ausnahmebehandlung in Java ist eine spezielle Form der Fehlerbehandlung Typischerweise

Mehr

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {... PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:

Mehr

Java Kurs für Anfänger Einheit 5 Methoden

Java Kurs für Anfänger Einheit 5 Methoden Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden

Mehr

Studentische Lösung zum Übungsblatt Nr. 7

Studentische Lösung zum Übungsblatt Nr. 7 Studentische Lösung zum Übungsblatt Nr. 7 Aufgabe 1) Dynamische Warteschlange public class UltimateOrderQueue private Order[] inhalt; private int hinten; // zeigt auf erstes freies Element private int

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können

Mehr

3 Objektorientierte Konzepte in Java

3 Objektorientierte Konzepte in Java 3 Objektorientierte Konzepte in Java 3.1 Klassendeklarationen Fragen an die Klassendeklaration: Wie heißt die Klasse? Wer darf auf die Klasse und ihre Attribute/Methoden zugreifen? Ist die Klasse eine

Mehr

Einführung in die Programmierung Blockkurs Java

Einführung in die Programmierung Blockkurs Java Michael Bader 8. 12. April 2002 Freitag Inhaltsübersicht Exceptions und Errors Ausnahmebehandlung: try/catch/finally Threads Zugriffskontrolle bei gemeinsamen Variablen: synchronized, wait(), notify()

Mehr

Beispiel: Methode mit einem Fehler. Diese Methode wird problematisch, wenn von außen eine Dauer von 0 Sekunden angegeben wird, etwa im Aufruf

Beispiel: Methode mit einem Fehler. Diese Methode wird problematisch, wenn von außen eine Dauer von 0 Sekunden angegeben wird, etwa im Aufruf 16 Exceptions Zur Behandlung unerwarteter Situationen bietet Java Unterstützung in Form von Exceptions oder Ausnahmen. Den Sinn von Exceptions können wir Ihnen an einem kleinen Beispiel klarmachen. Nehmen

Mehr

Java Fehlerbehandlung

Java Fehlerbehandlung Java Fehlerbehandlung 1 Fehlerbehandlung In jedem nicht-trivialen Programm kann es während der Laufzeit zu Fehlersituationen kommen. Dabei handelt es sich nicht unbedingt um Programmierfehler: z. B.: Programm

Mehr

Ausnahmen. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Ausnahmen. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Fehlerarten Bei der Programmierung können viele Arten von Fehlern auftreten:

Mehr

Große Übung Praktische Informatik 1

Große Übung Praktische Informatik 1 Große Übung Praktische Informatik 1 2005-12-08 [email protected] http://www.informatik.uni-mannheim.de/pi4/people/fuessler 1: Announcements / Orga Weihnachtsklausur zählt als Übungsblatt,

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

Datensicherung. Beschreibung der Datensicherung

Datensicherung. Beschreibung der Datensicherung Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten

Mehr

Einfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Einfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung 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

Übungen 19.01.2012 Programmieren 1 Felix Rohrer. Übungen

Übungen 19.01.2012 Programmieren 1 Felix Rohrer. Übungen Übungen if / else / else if... 2... 2 Aufgabe 2:... 2 Aufgabe 3:... 2 Aufgabe 4:... 2 Aufgabe 5:... 2 Aufgabe 6:... 2 Aufgabe 7:... 3 Aufgabe 8:... 3 Aufgabe 9:... 3 Aufgabe 10:... 3 switch... 4... 4 Aufgabe

Mehr

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu Daten Makro + VBA effektiv 5 DATEN 5.1. Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten jederzeit im Programm verändert werden. Als Variablen können beliebige Zeichenketten

Mehr

Internet Explorer Version 6

Internet Explorer Version 6 Internet Explorer Version 6 Java Runtime Ist Java Runtime nicht installiert, öffnet sich ein PopUp-Fenster, welches auf das benötigte Plugin aufmerksam macht. Nach Klicken auf die OK-Taste im PopUp-Fenster

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben.

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben. Aufgabe 1.30 : Schreibe ein Programm DM_in_Euro.java zur Umrechnung eines DM-Betrags in Euro unter Verwendung einer Konstanten für den Umrechnungsfaktor. Das Programm soll den DM-Betrag als Parameter verarbeiten.

Mehr

Einführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005

Einführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005 Einführung in die objektorientierte Programmierung mit Java Klausur am 19. Oktober 2005 Matrikelnummer: Nachname: Vorname: Semesteranzahl: Die Klausur besteht aus drei Frageblöcken zu den Inhalten der

Mehr

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER Inhalt 1 Einleitung... 1 2 Einrichtung der Aufgabe für die automatische Sicherung... 2 2.1 Die Aufgabenplanung... 2 2.2 Der erste Testlauf... 9 3 Problembehebung...

Mehr

Programmieren I. Fehlerbehandlung Exceptions. Heusch 2. Bd, 3 Ratz 10. Institut für Angewandte Informatik

Programmieren I. Fehlerbehandlung Exceptions. Heusch 2. Bd, 3 Ratz 10.  Institut für Angewandte Informatik Programmieren I Fehlerbehandlung Exceptions Heusch 2. Bd, 3 Ratz 10 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Exceptions und ihre Behandlung Exception - Ausnahmebedingung

Mehr

Fachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 6

Fachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 6 Gudrun Fischer Sascha Kriewel [email protected] Anmeldung zur Klausur! Übungsblatt Nr. 6 Um an der Klausur teilzunehmen, müssen sich Studierende der angewandten Informatik in

Mehr

Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005

Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Einführung in Java PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Gliederung 1. Was ist Java / Geschichte von Java 2. Prinzip der Plattformunabhängigkeit 3. Wie kommt man vom Quellcode zum Programm

Mehr

Übung Grundlagen der Programmierung. Übung 03: Schleifen. Testplan Testergebnisse

Übung Grundlagen der Programmierung. Übung 03: Schleifen. Testplan Testergebnisse Übung 03: Schleifen Abgabetermin: xx.xx.xxxx Name: Matrikelnummer: Gruppe: G1 (Prähofer) G2 (Prähofer) G3 (Wolfinger) Aufgabe Punkte gelöst abzugeben schriftlich abzugeben elektronisch Aufgabe 03.1 12

Mehr

Dokumentation für das Spiel Pong

Dokumentation für das Spiel Pong Dokumentation für das Spiel Pong BwInf - Turnierserver Didaktik der nformatik BWINF KI Wettbewerbs-Plattform Stand: 02.09.2014 Grundlagen In diesem KI-Turnier programmiert ihr einen Schläger für das Retro-Spiel

Mehr

Übung: Verwendung von Java-Threads

Übung: Verwendung von Java-Threads Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum

Mehr

10 Lesen und Schreiben von Dateien

10 Lesen und Schreiben von Dateien 10 Lesen und Schreiben von Dateien 10 Lesen und Schreiben von Dateien 135 10.1 Mit load und save Binäre Dateien Mit save können Variableninhalte binär im Matlab-Format abgespeichert werden. Syntax: save

Mehr

Kurzanleitung. Toolbox. T_xls_Import

Kurzanleitung. Toolbox. T_xls_Import Kurzanleitung Toolbox T_xls_Import März 2007 UP GmbH Anleitung_T_xls_Import_1-0-5.doc Seite 1 Toolbox T_xls_Import Inhaltsverzeichnis Einleitung...2 Software Installation...2 Software Starten...3 Das Excel-Format...4

Mehr

188.154 Einführung in die Programmierung für Wirtschaftsinformatik

188.154 Einführung in die Programmierung für Wirtschaftsinformatik Beispiel 1 Vererbung (Liste) Gegeben sind die beiden Klassen ListNode und PersonNode. 188.154 Einführung in die Programmierung für Wirtschaftsinformatik Wiederholung, Prüfungsvorbereitung Monika Lanzenberger

Mehr

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Objektorientierte Programmierung für Anfänger am Beispiel PHP Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten

Mehr

Variablen & erweiterte Aktionen nutzen

Variablen & erweiterte Aktionen nutzen 341 In Captivate können Sie mit Hilfe von Variablen Texte & Werte speichern oder Systeminformationen ausgeben. Außerdem können Sie auf Basis von Variablen komplexere Aktionen entwickeln, wie z. B. eine

Mehr

Zählen von Objekten einer bestimmten Klasse

Zählen von Objekten einer bestimmten Klasse Zählen von Objekten einer bestimmten Klasse Ziel, Inhalt Zur Übung versuchen wir eine Klasse zu schreiben, mit der es möglich ist Objekte einer bestimmten Klasse zu zählen. Wir werden den ++ und den --

Mehr

Institut für Programmierung und Reaktive Systeme 25. August 2014. Programmier-Labor. 04. + 05. Übungsblatt. int binarysearch(int[] a, int x),

Institut für Programmierung und Reaktive Systeme 25. August 2014. Programmier-Labor. 04. + 05. Übungsblatt. int binarysearch(int[] a, int x), Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 25. August 2014 Programmier-Labor 04. + 05. Übungsblatt Aufgabe 21: a) Schreiben Sie eine Methode

Mehr

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag Ludwig-Maximilians-Universität München WS 2015/16 Institut für Informatik Übungsblatt 9 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:

Mehr

Vorkurs C++ Programmierung

Vorkurs C++ Programmierung Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:

Mehr

Artikel Schnittstelle über CSV

Artikel Schnittstelle über CSV Artikel Schnittstelle über CSV Sie können Artikeldaten aus Ihrem EDV System in das NCFOX importieren, dies geschieht durch eine CSV Schnittstelle. Dies hat mehrere Vorteile: Zeitersparnis, die Karteikarte

Mehr

1 Vom Problem zum Programm

1 Vom Problem zum Programm Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren

Mehr

Exceptions. Prof. Dr. Margarita Esponda SS 2012. M. Esponda-Argüero

Exceptions. Prof. Dr. Margarita Esponda SS 2012. M. Esponda-Argüero Exceptions Prof. Dr. Margarita Esponda SS 2012 1 Ausnahmen Eine Ausnahme (Exception) ist ein Fehler oder ein nicht geplantes Ereignis, das während der Ausführung eines Programms vorkommt und dessen normalen

Mehr

Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit,

Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit, Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit, Wie kann ein PDF File angezeigt werden? kann mit Acrobat-Viewern angezeigt werden auf jeder Plattform!! (Unix,

Mehr

Applet Firewall und Freigabe der Objekte

Applet Firewall und Freigabe der Objekte Hauptseminar Applet Firewall und Freigabe der Objekte Nachweis von Sicherheitseigenschaften für JavaCard Jin Zhou Ein Überblick über diesen Vortrag Applet Firewall Kontext JCRE Entry Point Objekt Shareable

Mehr

Programmieren II. Timer. Vorlesung 11. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester 2011. Timer. Sockets.

Programmieren II. Timer. Vorlesung 11. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester 2011. Timer. Sockets. Programmieren II Martin Schultheiß Hochschule Darmstadt Sommersemester 2011 1 / 26 Timer Sockets SMTP-Client 2 / 26 Timer Mit einem Timer können bestimmte Aktionen periodisch wiederkehrend durchgeführt

Mehr

Benutzerverwaltung mit Zugriffsrechteverwaltung (optional)

Benutzerverwaltung mit Zugriffsrechteverwaltung (optional) Benutzerverwaltung mit Zugriffsrechteverwaltung (optional) Mit der Zugriffsrechteverwaltung können Sie einzelnen Personen Zugriffsrechte auf einzelne Bereiche und Verzeichnisse Ihrer Internetpräsenz gewähren.

Mehr

GeoPilot (Android) die App

GeoPilot (Android) die App GeoPilot (Android) die App Mit der neuen Rademacher GeoPilot App machen Sie Ihr Android Smartphone zum Sensor und steuern beliebige Szenen über den HomePilot. Die App beinhaltet zwei Funktionen, zum einen

Mehr

Programmieren in C. Felder, Schleifen und Fließkommaarithmetik. Prof. Dr. Nikolaus Wulff

Programmieren in C. Felder, Schleifen und Fließkommaarithmetik. Prof. Dr. Nikolaus Wulff Programmieren in C Felder, Schleifen und Fließkommaarithmetik Prof. Dr. Nikolaus Wulff Addition von Zahlen 1 2 3 4 5 #include int main() { int x,y,z,sum; x = 1; y = 2; z = 4; sum = x + y + z;

Mehr

5. Tutorium zu Programmieren

5. Tutorium zu Programmieren 5. Tutorium zu Programmieren Dennis Ewert Gruppe 6 Universität Karlsruhe Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2008 by IPD Snelting

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 16 Einstieg in die Informatik mit Java Ausnahmen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 16 1 Übersicht Ausnahmen 2 Klassenhierarchie 3 Try-Catch-Blöcke 4 Definition

Mehr

Übungsblatt 3: Algorithmen in Java & Grammatiken

Übungsblatt 3: Algorithmen in Java & Grammatiken Humboldt-Universität zu Berlin Grundlagen der Programmierung (Vorlesung von Prof. Bothe) Institut für Informatik WS 15/16 Übungsblatt 3: Algorithmen in Java & Grammatiken Abgabe: bis 9:00 Uhr am 30.11.2015

Mehr

2. Word-Dokumente verwalten

2. Word-Dokumente verwalten 2. Word-Dokumente verwalten In dieser Lektion lernen Sie... Word-Dokumente speichern und öffnen Neue Dokumente erstellen Dateiformate Was Sie für diese Lektion wissen sollten: Die Arbeitsumgebung von Word

Mehr

Erweiterung AE WWS Lite Win: AES Security Verschlüsselung

Erweiterung AE WWS Lite Win: AES Security Verschlüsselung Erweiterung AE WWS Lite Win: AES Security Verschlüsselung Handbuch und Dokumentation Beschreibung ab Vers. 1.13.5 Am Güterbahnhof 15 D-31303 Burgdorf Tel: +49 5136 802421 Fax: +49 5136 9776368 Seite 1

Mehr

Anleitung über den Umgang mit Schildern

Anleitung über den Umgang mit Schildern Anleitung über den Umgang mit Schildern -Vorwort -Wo bekommt man Schilder? -Wo und wie speichert man die Schilder? -Wie füge ich die Schilder in meinen Track ein? -Welche Bauteile kann man noch für Schilder

Mehr

Erklärung zum Internet-Bestellschein

Erklärung zum Internet-Bestellschein Erklärung zum Internet-Bestellschein Herzlich Willkommen bei Modellbahnbau Reinhardt. Auf den nächsten Seiten wird Ihnen mit hilfreichen Bildern erklärt, wie Sie den Internet-Bestellschein ausfüllen und

Mehr

Anleitung zum erstellen einer PDF-Datei aus Microsoft Word

Anleitung zum erstellen einer PDF-Datei aus Microsoft Word Anleitung zum erstellen einer PDF-Datei aus Microsoft Word 1. Vorbereitung des PCs Um dem Tutorial folgen zu können müssen folgende Programme auf Ihrem PC installiert sein: Ghostskript 8.64: Ghostskript

Mehr

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: VBA Programmierung mit Excel Schleifen 1/6 Erweiterung der Aufgabe Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: Es müssen also 11 (B L) x 35 = 385 Zellen berücksichtigt

Mehr

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt Inhaltsverzeichnis Aufgabe... 1 Allgemein... 1 Active Directory... 1 Konfiguration... 2 Benutzer erstellen... 3 Eigenes Verzeichnis erstellen... 3 Benutzerkonto erstellen... 3 Profil einrichten... 5 Berechtigungen

Mehr

Software Engineering Interaktionsdiagramme

Software Engineering Interaktionsdiagramme Software Engineering Interaktionsdiagramme Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Nachrichtenaustausch Welche Nachrichten werden ausgetauscht? (Methodenaufrufe)

Mehr

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 22

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 22 Kapitel 19 Vererbung, UML Seite 1 von 22 Vererbung - Neben der Datenabstraktion und der Datenkapselung ist die Vererbung ein weiteres Merkmal der OOP. - Durch Vererbung werden die Methoden und die Eigenschaften

Mehr

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger [email protected] WiSe 2012/13 1 Wichtig... Mittags Pommes... Praktikum A 230 C 207 (Madeleine) F 112 F 113 (Kevin) E

Mehr

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze Ihre Interessentendatensätze bei inobroker Wenn Sie oder Ihre Kunden die Prozesse von inobroker nutzen, werden Interessentendatensätze erzeugt. Diese können Sie direkt über inobroker bearbeiten oder mit

Mehr

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein. Schritt 1: Installation des Javacompilers JDK. Der erste Start mit Eclipse Bevor Sie den Java-Compiler installieren sollten Sie sich vergewissern, ob er eventuell schon installiert ist. Gehen sie wie folgt

Mehr

M. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung

M. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung M. Graefenhan 2000-12-07 Aufgabe Lösungsweg Übungen zu C Blatt 3 Musterlösung Schreiben Sie ein Programm, das die Häufigkeit von Zeichen in einem eingelesenen String feststellt. Benutzen Sie dazu ein zweidimensionales

Mehr

Java 7. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Dezember 2011 JAV7

Java 7. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Dezember 2011 JAV7 Java 7 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Dezember 2011 JAV7 5 Java 7 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen

Mehr

Java Einführung Collections

Java Einführung Collections Java Einführung Collections Inhalt dieser Einheit Behälterklassen, die in der Java API bereitgestellt werden Wiederholung Array Collections (Vector, List, Set) Map 2 Wiederholung Array a[0] a[1] a[2] a[3]...

Mehr

Druckerscriptsprache

Druckerscriptsprache Druckerscriptsprache Die Druckerscriptsprache stellt Ihnen ein mächtiges Werkzeug zur Erstellung und Automatisierung von komplexen Druckvorgängen zur Verfügung. Vom Folgedruck bis zum Archivfunktion ist

Mehr

Folge 18 - Vererbung

Folge 18 - Vererbung Workshop Folge 18 - Vererbung 18.1 Ein einfacher Fall der Vererbung Schritt 1 - Vorbereitungen Besorgen Sie sich - vielleicht aus einer der Übungen der Folge 17 - ein fertiges und lauffähiges Listenprojekt,

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

Mehr

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck Javadoc Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete und Javadoc Spezielle

Mehr

Delegatesund Ereignisse

Delegatesund Ereignisse Delegatesund Ereignisse «Delegierter» Methoden Schablone Funktionszeiger Dr. Beatrice Amrhein Überblick Definition eines Delegat Einfache Delegate Beispiele von Delegat-Anwendungen Definition eines Ereignisses

Mehr

Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen.

Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen. Übersicht Struts Forms Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen. Allgemeines Autor: Sascha Wolski http://www.laliluna.de/tutorials.html

Mehr