boolean ispalindrome = word.equalsignorecase(reverse.tostring());

Ähnliche Dokumente
Programmieren in Java

Java-Schulung Grundlagen

DHBW Karlsruhe, Vorlesung Programmieren, Events Musterlösung

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

AK-Automatisierungs und Kommunikationstechnik TI Technische Informatik. NWT Netzwerktechnik

Praktikum Informatik II Prof. Dr. Martin Trauth, Dr. Michael Männel

Programmieren in Java

Programmieren 2 Selbststudium Semesterwoche 6

Ein- und Ausgabe in Java

Vorlesung Programmieren

Java - Programmierung - Objektorientierte Programmierung 1

Liebe Leserin, lieber Leser, in der ersten Auflage von Programmieren lernen mit Java von Hans- Peter Habelitz sind einige Fehler zu korrigieren.

Programmierkurs Java

Große Übung Praktische Informatik 1

Programmdokumentation

TCP/IP Programmierung. C# TimeServer Java6 TimeClient

Einführung in Javadoc

Informatik II. /* c) Baumstruktur in einen String schreiben und zurueckgeben */ public String tostring() {

Programmieren II. Sockets. Vorlesung 16. Handout S. 1. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester Sockets.

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

Programmieren in Java

Angewandte IT-Sicherheit

Lösungsvorschläge. zu den Aufgaben im Kapitel 4

Verteilte Systeme CS5001

Beispiel: DB-Mock (1/7)

von Anja Austermann Drag and Drop

Primitive Datentypen

Beispiel Time Client/Server

Java-Programmierung. Remote Method Invocation - RMI

JDBC. Allgemeines ODBC. java.sql. Beispiele

Distributed Computing Group

Schritt 4: Hallo Enterprise Bean

Exceptions: Parameterprüfung import java.io.ioexception;

Algorithmen und Datenstrukturen

Variablen manipulieren per JDI

Programmentwicklung ohne BlueJ

Objektorientierte Programmierung

Problemstellung. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 24: Reflection 1. IDE und automatische Tests.

Klausur zur Vorlesung Verteilte Systeme im SS 2007 Prof. Dr. Odej Kao 24. Juli 2007

4. Servlets Ein kleiner Einstieg. Kurze Java Historie. Erinnerung: Internet Anwendungen. Konzept eines Seitenaufrufs

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

Grundlagen der Programmierung Prof. H. Mössenböck. 14. Schrittweise Verfeinerung

Grundlagen der Programmierung Prof. H. Mössenböck. 10. Klassen

Informatik II. Dateien. Seite 1 Th Letschert, THM

II.1.1. Erste Schritte - 1 -

Musterlösungen zur Klausur Informatik 3

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

5.13 Umgang mit Fehlern

5. Tutorium zu Programmieren

Der EMF-generierte Code. 7. November 2012

Themen. Web Service - Clients. Kommunikation zw. Web Services

Übersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung

1. Der Einstieg in Java. Was heißt Programmieren?

Anleitung. Ein einfaches RMI-Beispiel. (ab Java 5.0) c Y. Pfeifer. (Juni 2014)

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:

Einführung in die Programmierung für Wirtschaftsinformatik

Datenbankanwendungsprogrammierung Crashkurs Java

Einführung in die Programmierung Blockkurs Java

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

Studentische Lösung zum Übungsblatt Nr. 7

JDBC. Es kann z.b. eine ODBC-Treiberverbindung eingerichtet werden, damit das JAVA-Programm auf eine ACCESS-DB zugreifen kann.

Praktikum Datenbanksysteme. Ho Ngoc Duc IFIS - Universität zu Lübeck

5. Übung zu Software Engineering

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

Objects First With Java A Practical Introduction Using BlueJ. Mehr über Vererbung. Exploring polymorphism 1.0

Java: Vererbung. Teil 3: super()

Mit 'Babysteps' in die XTEXT-XTEND Welt

Propädeutikum zur Programmierung

1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen

Software Engineering. 3. JUnit und ANT. Franz-Josef Elmer, Universität Basel, HS 2012

Test-Driven Design: Ein einfaches Beispiel

1 Polymorphie (Vielgestaltigkeit)

Berner Fachhochschule Software Schule Schweiz JDOM. Beatrice Amrhein. Oktober 06

Repetitorium Informatik (Java)

Allgemein: Klassen testbar machen. 5. Mocking. Mocks programmieren. Zusammenspiel von Klassen testen

Inf 12 Aufgaben

Selbststudium OOP Programmieren 1 - H1103 Felix Rohrer

Jürgen Bayer. MDI-Anwendungen in C#

Alexander Syndikus (h_da) Informatik für CuB WS 2015/16-1/43. Teil IX. Dateien

Programmieren 2 09 File-IO

Objektorientierte Programmierung

Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein

Info: Standard DO-178B. 5. Mocking. Zusammenspiel von Klassen testen. Allgemein: Klassen testbar machen

Pragmatik von Programmiersprachen

Benutzerauthentifizierung und Zugriffsschutz mit JAAS

Programmieren in Java

Primitive Datentypen. Dr. Wolfgang Süß Thorsten Schlachter

Programmierkurs Java

Probeklausur: Programmierung WS04/05

Objektorientierte Programmierung

Testen mit JUnit. Martin Wirsing. Ziele. in Zusammenarbeit mit Michael Barth, Philipp Meier und Gefei Zhang

Java Database Connectivity (JDBC) Walther Rathenau Gewerbeschule 1

Remote Method Invocation

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

Programmieren von Webinformationssystemen

i n g e n i e u r b ü r o f ü r s o f t w a r e t e c h n o l o g i e w w w. v o e l t e r. d e Servlet Debugging

Sortieralgorithmen. Inhalt: InsertionSort BubbleSort QuickSort. Marco Block

1. Der Einstieg in Java

Teil II. Objektorientierte Programmierung und objektorientierter Entwurf

Softwaretechnologie - Wintersemester 2012/ Dr. Günter Kniesel

Transkript:

Bereich: Input/Output (2) Palindrome speichern Package: de.dhbwka.java.exercise.io Musterlösung Klasse: PalindromeFile package de.dhbwka.java.exercise.io; import java.io.bufferedreader; import java.io.file; import java.io.filereader; import java.io.filewriter; import java.io.printwriter; import java.util.scanner; / @author DHBW lecturer @version 1.0 Part of lectures on 'Programming in Java'. Baden-Wuerttemberg Cooperative State University. (C) 2016 by W. Geiger, T. Schlachter, C. Schmitt, W. Suess / public class PalindromeFile { public static void main(string[] args) { Scanner scan = new Scanner(System.in); System.out.print("Bitte Wort eingeben: "); String word = scan.next(); StringBuilder reverse = new StringBuilder(word).reverse(); // RTFM! System.out.println("Umgekehrt: " + reverse); boolean ispalindrome = word.equalsignorecase(reverse.tostring()); System.out.println(word + " ist " + (ispalindrome? "" : "k") + "ein Palindrom."); scan.close(); File palfile = new File("palindromes.txt"); // if palindrome: write it to palindrome file if (ispalindrome) { try (PrintWriter pw = new PrintWriter( new FileWriter(palFile,true))) // true for "append" { pw.println(word); catch (IOException e) { System.err.println("Fehler beim Schreiben: " + e.getmessage());

// Read all palindromes if (palfile.exists()) { System.out.println("Alle bisher gefundenen Palindrome:"); try (BufferedReader br = new BufferedReader( new FileReader(palFile))) { while (br.ready()) System.out.println(br.readLine()); catch (IOException e) { System.err.println("Fehler beim Lesen: " + e.getmessage());

Bereich: Input/Output Quersummen speichern Package: de.dhbwka.java.exercise.io Musterlösung Klasse: TextfileLines package de.dhbwka.java.exercise.io; import java.io.bufferedreader; import java.io.file; import java.io.filereader; / @author DHBW lecturer @version 1.0 Part of lectures on 'Programming in Java'. Baden-Wuerttemberg Cooperative State University. (C) 2016 by W. Geiger, T. Schlachter, C. Schmitt, W. Suess / public class TextfileLines { public static void main(string[] args) { File textfile = new File("beispiel.txt"); StringBuilder result = new StringBuilder(); if (textfile.exists()) { try (BufferedReader br = new BufferedReader( new FileReader(textFile))) { int count = 0; while (br.ready()) { count++; String line = br.readline(); if (count>=2 && count<=5) { System.out.println(line); result.append(line); System.out.println("Zeile 2-5: " + result.tostring()); catch (IOException e) { System.err.println("Fehler beim Lesen: " + e.getmessage());

Bereich: Input/Output Zugriff auf eine Textdatei Package: de.dhbwka.java.exercise.io.textfile Musterlösung Klasse: TextFile package de.dhbwka.java.exercise.io.textfile; / @author DHBW lecturer @version 1.0 Part of lectures on 'Programming in Java'. Baden-Wuerttemberg Cooperative State University. (C) 2016 by W. Geiger, T. Schlachter, C. Schmitt, W. Suess / @SuppressWarnings("serial") public class LineNumberOutOfBoundsException extends Exception { public LineNumberOutOfBoundsException() { super(); public LineNumberOutOfBoundsException(String message) { super(message); package de.dhbwka.java.exercise.io.textfile; import java.io.bufferedreader; import java.io.file; import java.io.filereader; import java.io.filewriter; import java.io.printwriter; / @author DHBW lecturer @version 1.0 Part of lectures on 'Programming in Java'. Baden-Wuerttemberg Cooperative State University. (C) 2016 by W. Geiger, T. Schlachter, C. Schmitt, W. Suess / public class TextFile { / File zum Lesen und Schreiben / private File f; private String[] buffer;

/ Konstruktor mit File / public TextFile(File f) { this.f = f; this.read(); / Konstruktor mit String als Pfadname / public TextFile(String filename) { this(new File(filename)); / Datei (erneut) einlesen. Wirft keine Exception! / public void read() { int zeilen = 0; try (BufferedReader in = new BufferedReader(new FileReader(f))) { for (; in.ready(); zeilen++) in.readline(); catch (IOException e) { System.err.println("Fehler bein Lesen der Datei."); buffer = new String[zeilen]; try (BufferedReader in = new BufferedReader(new FileReader(f))) { for (int i = 0; i < zeilen; i++) buffer[i] = in.readline(); catch (IOException e) { System.err.println("Fehler bein Lesen der Datei."); / Datei schreiben. Wirft Exception! / public void write() { if (buffer!= null) try (PrintWriter out = new PrintWriter(new FileWriter(f))) { for (int i = 0; i < buffer.length; i++) out.println(buffer[i]); catch (IOException e) { System.err.println("Fehler beim write()"); / Liefert die Anzahl der Zeilen. / public int availablelines() { if (buffer == null) return -1; return buffer.length; / Liefert alle Zeilen als Array. / public String[] getlines() { return buffer; / Liefert die angegeben Zeile. Zählung ab 1. / public String getline(int i) throws LineNumberOutOfBoundsException { if (buffer == null) return null; if (i > 0 && i <= buffer.length)

else return buffer[i - 1]; throw new LineNumberOutOfBoundsException( "Falsche Eingabe bei getline"); / Ersetzt die angegeben Zeile. Zählung ab 1. / public void setline(int i, String s) throws LineNumberOutOfBoundsException { if (buffer == null && i > 0 && i <= buffer.length) buffer[i - 1] = s; else throw new LineNumberOutOfBoundsException( "Falsche Eingabe bei setline"); / Ersetzt alle Vorkommen von regexp in allen Zeilen durch ersatz / public void replaceall(string regexp, String ersatz) { if (buffer!= null && regexp!= null && ersatz!= null) for (int i = 0; i < buffer.length; i++) buffer[i] = buffer[i].replaceall(regexp, ersatz); / Löscht den Puffer und das Filehandle / public void close() { buffer = null; this.f = null; package de.dhbwka.java.exercise.io.textfile; / @author DHBW lecturer @version 1.0 Part of lectures on 'Programming in Java'. Baden-Wuerttemberg Cooperative State University. (C) 2016 by W. Geiger, T. Schlachter, C. Schmitt, W. Suess / public class TextFileTest { public static void main(string[]args) throws IOException, LineNumberOutOfBoundsException { TextFile a = new TextFile("bla.txt"); // Anzahl der Zeilen System.out.println("Anzahl der Zeilen: "+a.availablelines()); // Erste Zeile System.out.println("Zeile 1: " + a.getline(1)); // Fünfte Zeile System.out.println("Zeile 5: " + a.getline(5));

// AlleZeilen System.out.println("Alle Zeilen: "); for(string line : a.getlines()) System.out.println(line); // Ersetzen von "meine" durch "unsre" a.replaceall("meine", "unsre"); // Datei schreiben // a.write(); System.out.println("Alle Zeilen nach dem Ersetzen: "); for(string line : a.getlines()) System.out.println(line); a.close();

Bereich: Input/Output Primzahlen speichern und lesen Package: de.dhbwka.java.exercise.io Musterlösung Klasse: PrimFile package de.dhbwka.java.exercise.io; import java.io.file; import java.io.filewriter; import java.io.printwriter; / @author DHBW lecturer @version 1.0 Part of lectures on 'Programming in Java'. Baden-Wuerttemberg Cooperative State University. (C) 2016 by W. Geiger, T. Schlachter, C. Schmitt, W. Suess / public class PrimesFile { public static final int MAX = 100000; public static final String PRIM_FILENAME = "primes.txt"; public static void main(string[] args) { saveprimes(getprimes(max), PRIM_FILENAME); System.out.println("prime numbers up to " + MAX + " saved to " + PRIM_FILENAME); public static void saveprimes(boolean[] prim, String filename) { try { PrintWriter pw = new PrintWriter(new FileWriter( new File(filename))); for (int i = 0; i < prim.length; i++) { if (prim[i]) pw.println(i); pw.close(); catch (IOException e) { System.err.println("Error writing numbers to " + filename); public static boolean[] getprimes(int max) { boolean[] prim = new boolean[max]; // initialize array with true for (int i = 2; i < prim.length; i++) prim[i] = true; // eratostenes' sieve for (int i = 2; i < prim.length; i++) if (prim[i]) for (int j = i 2; j < prim.length; j += i)

return prim; prim[j] = false; package de.dhbwka.java.exercise.io; import java.io.bufferedreader; import java.io.file; import java.io.filereader; import java.util.random; / @author DHBW lecturer @version 1.0 Part of lectures on 'Programming in Java'. Baden-Wuerttemberg Cooperative State University. (C) 2016 by W. Geiger, T. Schlachter, C. Schmitt, W. Suess / public class PrimesTest { public static void main(string[] args) { boolean[] prim = loadprimes(primesfile.prim_filename); if (prim!=null && prim.length>0) { Random rnd = new Random(); // Test for 10 random numbers if they are prime for (int i=0; i<10; i++) { int number = rnd.nextint(prim.length); System.out.println(number + " is " + (prim[number]?"":"not ") + "prime."); public static boolean[] loadprimes(string filename) { boolean[] prim = new boolean[primesfile.max]; // read lines using try-with-resources statement try (BufferedReader br2 = new BufferedReader(new FileReader( new File(filename)))) { while (br2.ready()) { prim[integer.parseint(br2.readline())] = true; catch (IOException e) { System.err.println("Error reading from "+filename); return prim;