Aufgabe 3.1 (Laboraufgabe, CSV-Ein- und Ausgabe)
|
|
- Helmut Bäcker
- vor 7 Jahren
- Abrufe
Transkript
1 Übungen zu Objektorientierte Programmierung in Java PD Dr. Wolfgang Goerigk Sommersemester 2009 Musterlösungen Serie 3 Aufgabe 3.1 (Laboraufgabe, CSV-Ein- und Ausgabe) Eine häufig wiederkehrende Aufgabe ist das Einlesen von sog. comma separated values (.csv), wie sie beispielsweise von Spreadsheet-Programmen (Excel o.ä.), von Kalender-Programmen oder auch aus Datenbanken exportiert werden können. Diese Dateien haben i.a. die folgende Form: Nettobetrag;Mehrwertsteuersatz;Bruttobetrag;Waehrung 1000,75;19;; 2000,00;7;;$ 3000,00;19;;Euro Der Separator ist im deutschsprachigen Umfeld häufig ";" statt ",", weil "," in Fließkommazahlen verwendet wird. Pro Zeile müssen nicht alle Felder belegt sein (z.b. ist das Bruttobetrag-Feld in dem o.a. Beispiel leer), aber die Anzahl der Felder ist immer gleich. Manche Felder enthalten Zahlen (z.b. Nettobetrag (double) und Mehrwertsteuersatz (int) im o.a. Beispiel), manche Zeichenreihen (z.b. oder Euro im Feld Waehrung des o.a. Beispiels). Im csv-format ist die Kopfzeile nicht obligatorisch. Sie dient aber zur Benennung der Spalten, aber auch als auch als Muster für die Anzahl der Spalten. Die erste Datenzeile ist also i.a. die zweite Zeile der Datei. Schreiben Sie ein Programm, das die Datei Mehrwertsteuer.csv (s.o.) und in der gleichen Form auf die Standardausgabe wieder ausgibt, allerdings zusätzlich mit berechnetem Bruttobetrag, also in der Form Nettobetrag;Mehrwertsteuersatz;Bruttobetrag;Waehrung 1000,75;19; 1190,89; 2000,00;7; 2140,00;$ 3000,00;19; 3570,00;Euro Hinweise: 1. Benutzen Sie die Klasse java.util.scanner zweimal: o Einmal mit dem Argument new File("Mehrwertsteuer.csv"), um den Dateiinhalt zeilenweise einzulesen und o einmal mit der jeweils eingelesenen Zeile als String-Argument, um die einzelnen Datensätze zu separieren. Die Methode Scanner usedelimiter (String pattern) liefert zu einem Scanner einen neuen, der die in pattern enthaltene Zeichenreihe, z.b. ";", als Separator verwendet. 2. Die Klasse java.text.decimalformat können Sie verwenden, um den berechneten Bruttowert wiederum in einer lokalisierten (deutschen) Form mit "," als Dezimalpunkt und z.b. zwei Nachkommastellen auszugeben. Die Zeile s = new DecimalFormat("0.00").format(x); liefert zur Zahl x einen solchen String in s.
2 import java.io.file; import java.io.filenotfoundexception; import java.io.printstream; import java.util.scanner; import java.text.*; public class Aufgabe_3_1 { public static void main(string[] args) throws FileNotFoundException { Scanner scanner = new Scanner(new File("Mehrwertsteuer.csv")).useDelimiter(";"); String header = scanner.nextline(); String line; double netto, brutto; int mwst; String brutto_string, waehrung; // // Zeilenweises Einlesen und Verarbeiten der Datei // "Mehrwertsteuer.csv" // while (scanner.hasnextline()) { Scanner sc = new Scanner(scanner.nextLine()).useDelimiter(";"); netto = sc.nextdouble(); mwst = sc.nextint(); sc.next(); waehrung = sc.next(); brutto = netto + netto * mwst / 100.0; brutto_string = new DecimalFormat("0.00").format(brutto); System.out.println (netto + ";" + mwst + ";" + ";" + brutto_string + ";" + waehrung); Bei dieser Aufgabe sind vor allem zwei Dinge wichtig: 1. Wechsel des Eingabemediums: Statt von der Kommandozeile oder der Standard-Eingabe (Konsole) lesen wir die Eingabedaten jetzt aus einer Datei. Die eigentliche Berechnung bleibt davon i.w. unberührt. 2. Mit Schleifen können wir die Eingabedatei zeilenweise einlesen, verarbeiten und zeilenweise wieder ausgeben. Für die Unabhängigkeit von der Länge der Eingabedatei (der Anzahl der Zeilen) ist die while-schleife wichtig: Solange noch eine Zeile vorhanden ist, lies sie, verarbeite die Daten und gebe die Resultate aus.
3 Aufgabe 3.2 (Laboraufgabe, CSV-Ausgabe) Ergänzen Sie Ihr Programm aus Aufgabe 3.1 so, dass es die Ausgabe zusätzlich in eine Textdatei (z.b. Ergebnis.csv ) ausgibt. Fügen Sie dabei sowohl in der Kopfzeile als auch in den Datenzeilen zwischen den Feldern "Mehrwertsteuersatz" und "Bruttobetrag" eine neue Spalte "Mehrwertsteuer" ein, die in den Datenzeilen die berechnete Mehrwertsteuer enthält. Zur Probe können Sie die entstehende Datei beispielsweise in Excel oder OpenOffice Calc einlesen. import java.io.file; import java.io.filenotfoundexception; import java.io.printstream; import java.util.scanner; import java.text.*; public class Aufgabe_3_2 { public static void main(string[] args) throws FileNotFoundException { Scanner scanner = new Scanner(new File("Mehrwertsteuer.csv")).useDelimiter(";"); PrintStream output = new PrintStream("Ergebnis1.csv"); // // Ausgabe der Kopfzeile der csv-datei // String header = scanner.nextline(); String n = "Nettobetrag", m1 = "Mehrwertsteuersatz", m2 = "Mehrwertsteuer", b = "Bruttobetrag", w = "Waehrung", sep = ";"; header = n+sep+m1+sep+m2+sep+b+sep+w; output.println(header); double netto, brutto, steuer; int mwst; String brutto_string, waehrung, steuer_string; // // Zeilenweises Einlesen und Verarbeiten der Datei // "Mehrwertsteuer.csv" // while (scanner.hasnextline()) { Scanner sc = new scanner(scanner.nextline()).usedelimiter(";"); netto = sc.nextdouble(); mwst = sc.nextint();
4 sc.next(); waehrung = sc.next(); brutto = netto + netto * mwst / 100.0; brutto_string = new DecimalFormat("0.00").format(brutto); steuer = netto * mwst / 100.0; steuer_string = new DecimalFormat("0.00").format(steuer); output.println (netto + ";" + mwst + ";" + steuer + ";" + brutto + ";" + waehrung); Bei dieser Aufgabe passiert sichts weiter als ein Wechsel des Ausgabemediums. Statt auf die Standardausgabe schreiben wir nun die Resultate in eine Datei, d.h auf einen PrintStream. Aufgabe 3.3 (Laboraufgabe, CSV-Ausgabe) Berechnen Sie Mehrwertsteuer und Bruttobetrag für alle Nettobeträge zwischen 0,- und ,- im Abstand 1.000,-, d.h. für die Nettobeträge 0,-, 1000, 2000 usw. Geben Sie die zugehörigen Daten analog Aufgabe 3.2 in eine csv-datei aus. Zusatz (freiwillig): Versuchen Sie, die Daten so in eine csv-datei zu schreiben, dass Sie diese mit Excel oder OpenOffice Calc einlesen und in einem Diagramm hübsch darstellen können. import java.io.file; import java.io.filenotfoundexception; import java.io.printstream; import java.text.*; public class Aufgabe_3_3 { public static void main(string[] args) throws FileNotFoundException { PrintStream output = new PrintStream("Ergebnis2.csv"); // // Ausgabe der Kopfzeile der csv-datei // String n = "Nettobetrag", m1 = "Mehrwertsteuersatz", m2 = "Mehrwertsteuer", b = "Bruttobetrag", w = "Waehrung", sep = ";"; String header = n+sep+m1+sep+m2+sep+b+sep+w; output.println(header); double netto, brutto, steuer;
5 int mwst = 19; String brutto_string, steuer_string; // // Ausgabe fuer 0,-, 1000,-,..., ,-- // in die Datei Ergebnis2.csv // for (netto = 0; netto <= ; netto = netto ) { brutto = netto + netto * mwst / 100.0; brutto_string = new DecimalFormat("0.00").format(brutto); steuer = netto * mwst / 100.0; steuer_string = new DecimalFormat("0.00").format(steuer); output.println (netto + ";" + mwst + ";" + steuer_string + ";" + brutto_string + ";" + " "); Aufgabe 3.4 (Laboraufgabe, Komplexere csv-dateien) Auf der Vorlesungs-Webseite finden Sie eine Datei "Bankauszuege.csv". So oder so ähnlich liefert Ihnen Ihre Bank oder Sparkasse die Übersicht über die laufenden Kontobewegungen z.b. eines Girokontos, wenn Sie z.b. im Electronic Banking einen csv-export der Kontobewegungen eines bestimmten Zeitraumes abfordern. Neben Buchungsdatum, Valuta, Informationen über Empfänger und Verwendungszweck usw. stehen im Feld "Betrag" die Zugänge als positive, die Abgänge als negative Zahlen. Die Kontobewegungen werden durch eine Zeile ohne Daten abgeschlossen, gefolgt von einer Zeile, die den alten Saldo wiedergibt: ;;;;;;;;; alter Saldo; ;1534,77;EUR;;;;;; 1. Lesen Sie diese Datei ein, summieren Sie die einzelnen Zu- und Abgänge und berechnen Sie den neuen Saldo. 2. Berechnen Sie ebenfalls, wie hoch die Summe aller im Feld "Verwendungszweck 1" als "UEBERWEISUNG" gekennzeichneten Abgänge ist. Hinweise: Mit dieser Aufgabe sollten Sie sich vor dem nächsten Labor ( ) beschäftigen, weil Sie sie während des Labors nicht vollständig bearbeiten können. Für eine Zeichenreihe (String) s1 kann die Methode Boolean equals (String s2) aufgerufen werden, die s1 mit s2 zeichenweise vergleicht. import java.io.file; import java.io.filenotfoundexception;
6 import java.util.scanner; import java.text.*; public class Aufgabe_3_3 { public static void main(string[] args) throws FileNotFoundException { Scanner scanner = new Scanner(new File("Bankauszuege.csv")).useDelimiter(";"); scanner.nextline(); // Ueberlese die Kopfzeile // // Die csv-datei enthaelt die 10 Spalten // // buchungsdatum (Datum) // valuta (Datum) // betrag (double) // waehrung (String) // empf1 (String) // empf2 (String) // primanota (String) // blzempf (String) // ktoempf (String) // zweck (String) // // double betrag; String zweck; double sum_betrag = 0.0, sum_ueb = 0.0; // // Lese und verarbeite die csv-datei zeilenweise // while (scanner.hasnextline()) { Scanner sc = new Scanner(scanner.nextLine()).useDelimiter(";"); // // Beende die Schleife, falls die eingelesene Zeile die // Zeile ";;;;;;;;;" ist (buchungsdatum = "") // if (sc.next().equals("")) // buchungsdatum break; sc.next(); // valuta betrag = sc.nextdouble(); sum_betrag = sum_betrag + betrag; sc.next(); // waehrung sc.next(); // empf1 sc.next(); // empf2 sc.next(); // primanota sc.next(); // blzempf sc.next(); // ktoempf zweck = sc.next(); if (zweck.equals("ueberweisung")) { sum_ueb = sum_ueb + betrag; //String sum = new DecimalFormat("0.00").format(sum_betrag);
7 // // Einlesen der letzten Zeile. In der dritten Spalte steht der // alte Saldo // Scanner sc = new Scanner(scanner.nextLine()).useDelimiter(";"); sc.next(); sc.next(); double saldo = sc.nextdouble(); // // Vorbereiten der Ausgabe // String oldsaldo = new DecimalFormat("0.00").format(saldo); String sumbetrag = new DecimalFormat("0.00").format(sum_betrag); String newsaldo = new DecimalFormat("0.00").format(sum_betrag + saldo); String ueberw = new DecimalFormat("0.00").format(sum_ueb); // // Ausgabe // System.out.println("Alter Saldo: " + oldsaldo); System.out.println("Summe Bewegungen: " + sumbetrag); System.out.println("Neuer Saldo: " + (newsaldo)); System.out.println("Summe UEBERWEISUNGEN: " + ueberw); Aufgabe 3.5 (Hausaufgabe, Guter und schlechter Programmierstil) Gegeben sei das folgende Programm: public class Test {public static void main(string[] args) { Test t = new Test(); System.out.println(t.doSomething(1000)); double dosomething(int schritte) {double pi=0.0; 10 for(double i=0,n=-1.0,z=1.0;i<schritte; n+=2,pi+=z/n,z*=-1,++i); return pi*4; Das Programm berechnet eine Näherung der Zahl π durch eine Zahlenreihe. Schreiben Sie das Programm so um, dass auch Dritte verstehen können, was es eigentlich tut. Korrigieren Sie das Textlayout des Programms (Zeilenumbrüche, Einrückung usw.). Vergeben Sie aussagekräftige Namen für Variablen und Methoden. Schreiben Sie die for-schleife um, in dem Sie Zuweisungen, die im Schleifenkopf unnötig sind, in den Schleifenrumpf verlagern. Fügen Sie Kommentare ein.
8 public class Test { // // Hauptprogramm. Berechnet eine Naeherung für die Kreiszahl Pi mit einer // Schrittzahl von Erhöhung der Schrittzahl erhöht die // Genauigkeit der Naeherung // public static void main(string[] args) { Test t = new Test(); System.out.println(t.berechne_pi(1000)); // // Berechnung von Pi durch die alternierende Reihe // Pi/4 = 1-1/3 + 1/5-1/7 + 1/9-1/11 + 1/13-1/15 + 1/ // // schritte = Anzahl der Iterationsschritte // double berechne_pi(int schritte) { double pi = 0.0; double nenner = -1.0, zaehler = 1.0; for (int i = 0; i < schritte; i++) { nenner = nenner + 2; pi = pi + zaehler / nenner; zaehler = -zaehler; return pi * 4; Das Programm berechnet eine Näherung der Kreiszahl π mithilfe der alternierenden Reihe Pi / 4 = 1-1 / / 5-1 / / 9-1 / / 13-1 / / Aufgabe 3.6 (Hausaufgabe, Zahlen raten) Das Spiel Zahlen raten funktioniert so: Ein Spieler A (der Computer) denkt sich eine Zahl zwischen 0 und einer bestimmten Obergrenze aus. Der Spieler B (Benutzer) muss nun versuchen, die Zahl zu erraten. Nach jedem Versuch bekommt er dazu von A den Hinweis, ob seine geratene Zahl zu groß oder zu klein ist. Errät er die Zahl richtig, endet das Spiel. Ein Dialog auf der Konsole könnte z.b. wie folgt aussehen: Bitte geben Sie eine Zahl zwischen 1 und 100 ein: 35 Zahl zu klein. Bitte erneut versuchen: 75 Zahl zu gross. Bitte erneut versuchen: 50 Gewonnen. Sie haben 3 Versuche benötigt Programmieren Sie das Spiel. Zu Beginn ermittelt das Programm eine zu ratende Zufallszahl zwischen 1 und 100, z.b. durch int zufallszahl = (int) (Math.random() * ); Die statische Methode java.lang.math.random() liefert eine Zufallszahl zwischen im Intervall [0..1).
9 Im Erfolgsfall wird die Anzahl der Versuche ausgegeben. Wenn Sie Lust und Zeit haben, spielen Sie Ihr Spiel solange, bis Sie die Zahl ebenfalls in höchstens drei Versuchen erfolgreich geraten haben. import java.io.*; import java.util.*; public class Zahlenraten { public static void main (String[] args) throws Exception { // // Zufallszahl zwischen 1 und 100 // int zufallszahl = (int) (Math.random() * ); int anzahlversuche = 1; Scanner input = new Scanner(System.in); System.out.println("Rate eine Zahl zwischen 0 und 100:"); int eingabe = input.nextint(); // // Lese solange int-werte von der Standardeingabe, bis die // eingegebene Zahl gleich der anfangs berechneten Zufallszahl ist. // while (eingabe!= zufallszahl) { anzahlversuche++; if (eingabe < zufallszahl) { System.out.println("Zahl zu klein. Nocheinmal:"); eingabe = input.nextint(); else if(eingabe > zufallszahl) { System.out.println("Zahl zu groß. Nocheinmal:"); eingabe = input.nextint(); System.out.println ("Erraten mit "+ anzahlversuche +" Versuch(en)");
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
MehrPraktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2016/17. Vorbereitende Aufgaben
Fakultät für Informatik Lehrstuhl 14 Lars Hildebrand, Alexander Lochmann, Iman Kamehkhosh, Marcel Preuß, Dominic Siedhoff Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester
MehrProgrammieren in Java
Programmieren in Java Vorlesung 02: Methoden Prof. Dr. Peter Thiemann Albert-Ludwigs-Universität Freiburg, Germany SS 2017 Peter Thiemann (Univ. Freiburg) Programmieren in Java JAVA 1 / 17 Inhalt Scanner
MehrProgrammiervorkurs WS 2013/2014. Schleifen. Termin 3
Programmiervorkurs WS 2013/2014 Schleifen Termin 3 Ein Befehl soll mehrfach ausgeführt werden, z.b.: public class MyCounter { System.out.println(1); Ein Befehl soll mehrfach ausgeführt werden, z.b.: public
MehrPrüfung Softwareentwicklung I (IB)
Hochschule für angewandte Wissenschaften München Fakultät für Informatik und Mathematik Studiengruppe IB 1 B, IB 1 C Wintersemester 2012/13 Prüfung Softwareentwicklung I (IB) Datum : 25.01.2013, 10:30
MehrSystem.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
MehrPraktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16. Vorbereitende Aufgaben
Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16 Fakultät für Informatik Lehrstuhl 14 Lars Hildebrand, Marcel Preuß, Iman Kamehkhosh, Marc Bury, Diana Howey Übungsblatt
MehrInformatik II Aufgabenblatt 6
Prof. Dr. Th. Letschert FB MNI TH Mittelhessen StudiumPlus Informatik II Aufgabenblatt 6 Gruppenübung Aufgabe 1 CSV Dateien sind Textdateien die Zeilen mit Komma-separierten Werten bestehen (CSV = Comma
MehrEinführung in die Programmierung I. 2.4 Felder. Thomas R. Gross. Department Informatik ETH Zürich
252-0027 Einführung in die Programmierung I 2.4 Felder Thomas R. Gross Department Informatik ETH Zürich Uebersicht 2.4 Felder (Vektoren, "array"s) 2.5 Verschachtelte Schleifen 2.6 "if" Anweisungen 2.7
MehrEinstieg in die Informatik mit Java
Vorlesung vom 25.4.07, Anweisungen Übersicht 1 Ausdrucksanweisung 2 Einfache Ausgabeanweisung 3 Einfache Eingabeanweisung, Vorbereitungen 4 Verbundanweisung 5 Bedingte Anweisung 6 Auswahlanweisung 7 for
MehrProgrammiertechnik Ausnahmen
Programmiertechnik Ausnahmen Prof. Dr. Oliver Haase Oliver Haase Hochschule Konstanz 1 Motivation public class Excep1 { public void doyourjob() { Scanner scanner = new Scanner(System.in); System.out.print("a:
MehrVorbereitende Aufgaben
Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2018/19 Fakultät für Informatik Lehrstuhl 1 Lars Hildebrand Übungsblatt 9 Besprechung: 07. 11.01.2019 (KW 2) Vorbereitende
MehrProgrammiervorkurs WS 2012/2013. Schleifen und Methoden
Programmiervorkurs WS 2012/2013 Schleifen und Methoden Ein Befehl soll mehrfach ausgeführt werden, z.b.: public class MyCounter { System.out.println(1); Ein Befehl soll mehrfach ausgeführt werden, z.b.:
MehrCoMa 04. Java II. Paul Boeck. 7. Mai Humboldt Universität zu Berlin Institut für Mathematik. Paul Boeck CoMa 04 7.
CoMa 04 Java II Paul Boeck Humboldt Universität zu Berlin Institut für Mathematik 7. Mai 2013 Paul Boeck CoMa 04 7. Mai 2013 1 / 13 Verzweigungen Wenn-Dann Beziehungen if (BEDINGUNG) { else if (BEDINGUNG2)
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 04: Variablenzugriff und Eingaben Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Zugriff auf Instanzvariablen Praktisches Beispiel: Student
MehrII.1.1. Erste Schritte - 1 -
1. Grundelemente der Programmierung 2. Objekte, Klassen und Methoden 3. Rekursion und dynamische Datenstrukturen 4. Erweiterung von Klassen und fortgeschrittene Konzepte II.1.1. Erste Schritte - 1 - 1.
MehrJava - Schleifen. Bedingung. wiederhole. Anweisung Anweisung Anweisung. Leibniz Universität IT Services Anja Aue
Java - Schleifen Bedingung wiederhole ja Anweisung Anweisung Anweisung Leibniz Universität Anja Aue Schleifen Iterationsanweisungen. Wiederholung von Anweisung in Abhängigkeit einer Bedingung. Eine Verschachtelung
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 03: Wiederholung und Nutzereingaben Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Wiederholung Klassen, Objekte, Attribute und Methoden
MehrÜbung 1: Installation + Test von Eclipse. Übung 2: Hello World
Übung 1: Installation + Test von Eclipse Es soll die Installation der Entwicklungsumgebung Eclipse durchgeführt werden gemäss Dokument "InstallationTest.Eclipse.15.0.pdf" auf der DVD im Verzeichnis Eclipse.
MehrProf. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Ausnahmen
Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik Ausnahmen Motivation Anwendungsbeispiel 1: java Excep1 a: 15 b: 3 a / b = 5 Job done. Konsole Anwendungsbeispiel 2: Konsole java
MehrObjektorientierung II & die Java Klassenbibliothek. Kristian Bergmann und Arthur Lochstampfer
Java Kurs Objektorientierung II & die Java Klassenbibliothek Kristian Bergmann und Arthur Lochstampfer Vergleich class Apfel { String farbe; int gewicht; String geerntetin; class Erdbeere { String farbe;
MehrMartin Unold INFORMATIK. Geoinformatik und Vermessung
Wiederholung So sieht ein leeres Java-Programm aus public class Programmname { public static void main (String[] args) { // Hier stehen die Anweisungen } } Anweisungen mit Variablen Wiederholung Deklaration
MehrPrüfung Softwareentwicklung I (IB)
Hochschule für angewandte Wissenschaften München Fakultät für Informatik und Mathematik Studiengruppe IB 1 B Wintersemester 2017/18 Prüfung Softwareentwicklung I (IB) Datum : 01022018, 14:30 Uhr Bearbeitungszeit
MehrEine JAVA Einführung ... Quellcode:... COMA Übung 3. T.Bosse. A.Griewank. Vorschau JAVA Programme Sprachen Kate
COMA Eine Einführung Quellcode: Anweisung(en)1 Wiederhole: T.Bosse Anweisung(en) 2 Einfache Schleifen (z.b. for-loop) Wiederhole: Falls (Bedingung) wahr, tue: Anweisung(en) 2 sonst führe Verzweigungen
MehrObjektorientierte Programmierung OOP Programmieren mit Java
Übungen: 6 Schleifen Objektorientierte Programmierung OOP Programmieren mit Java 1. do-schleife 2. while-schleife 3. a) c) Verschiedene for-schleifen 6 Schleifen Übungen 4. for-schleife: halber Tannenbaum
MehrProgrammierkurs 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
MehrMartin Unold INFORMATIK. Geoinformatik und Vermessung
Wiederholung So sieht ein leeres Java-Programm aus public class Programmname { public static void main (String[] args) { // Hier stehen die Anweisungen Anweisungen mit Variablen Wiederholung Deklaration
Mehr1 of :26:26
//import java.util.arraylist; //import java.util.iterator; public class Bank private String name; //private ArrayList kontolist; private MyLinkedList kontolist; public Bank() this("bank");
MehrProgrammierung für Mathematik HS10 Übung 8
Department of Informatics software evolution & architecture lab Programmierung für Mathematik HS10 Übung 8 1 Aufgabe: Codeverständnis (Repetition) 1.1 Lernziele 1. Code verstehen können. 2. Fehler im Code
MehrKlassenvariablen, Klassenmethoden
Einstieg in die Informatik mit Java, Vorlesung vom 11.12.07 Übersicht 1 Klassenmethoden 2 Besonderheiten von Klassenmethoden 3 Aufruf einer Klassenmethode 4 Hauptprogrammparameter 5 Rekursion Klassenmethoden
MehrJava für Anfänger Teil 4: Anweisungen. Programmierkurs Manfred Jackel
Java für Anfänger Teil 4: Anweisungen Programmierkurs 11.-15.10.2010 Manfred Jackel Anweisungen Werzuweisung (hatten wir schon) Verzweigung Fallunterscheidung Schleifen Methodenaufruf Wiederholung: Klassendeklaration
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 05: Programmablauf Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Nutzereingaben EVA Prinzip Eingaben über die Konsole Eingaben über GUI
MehrEinstieg in die Informatik mit Java
Vorlesung vom 6.11.07, Weitere Anweisungen Übersicht 1 Verbundanweisung 2 Bedingte Anweisung 3 Auswahlanweisung 4 for Schleife 5 while Schleife 6 do Schleife 7 break Anweisung 8 continue Anweisung 9 Leere
MehrEinstieg in die Informatik mit Java
1 / 47 Einstieg in die Informatik mit Java Anweisungen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 47 1 Ausdrucksanweisung 2 Einfache Ausgabeanweisung 3 Einfache Eingabeanweisung,
Mehr3. Anweisungen und Kontrollstrukturen
3. Kontrollstrukturen Anweisungen und Blöcke 3. Anweisungen und Kontrollstrukturen Mit Kontrollstrukturen können wir den Ablauf eines Programmes beeinflussen, z.b. ob oder in welcher Reihenfolge Anweisungen
MehrAusgabe:
Aufgabe 2.10: Schreiben Sie ein Programm, das zunächst die Quadratzahlen zu den Zahlen 1-10 mit Hilfe einer While- Schleife und danach die Quadratzahlen zu den Zahlen 3, 6, 9,.., 30 mit Hilfe einer For-Schleife
MehrTutoraufgabe 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
Mehr1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays)
1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays) II.1.3. Anweisungen und Kontrollstrukturen - 1 - Anweisung Anweisung Zuweisung Methodenaufruf
MehrProgrammieren in Java
Programmieren in Java Vorlesung 03: Schleifen Prof. Dr. Peter Thiemann Albert-Ludwigs-Universität Freiburg, Germany SS 2017 Peter Thiemann (Univ. Freiburg) Programmieren in Java JAVA 1 / 12 Inhalt Codequalität
MehrJAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)
JAVA BASICS 2. Primitive Datentypen 1. Warum Java? zunehmend weit verbreitet einfach und (relativ) sicher keine Adressrechnung, aber Pointer keine gotos kein Präprozessor keine globalen Variablen garbage
MehrProgrammiertechnik Übungen zu Klassen & -methoden
Programmiertechnik Übungen zu Klassen & -methoden Prof. Dr. Oliver Haase Oliver Haase Hochschule Konstanz 1 Übung 1 Ein Verfahren, den größten gemeinsamen Teiler (ggt) zweier Zahlen a und b, a
MehrProgrammieren 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Übungsstunde 4. Einführung in die Programmierung
Übungsstunde 4 Einführung in die Programmierung Probleme bei Übung 3 [TODO Assistent] Nachbesprechung Übung 4 Aufgabe 1: Sieb des Eratosthenes //Initialisiere das Array sieb und setze alle Werte auf true
MehrAufgabe: Hinweise zu der Farbwahl der Texte/Wörter: Orange ist angegeben, wo etwas ergänzt werden soll.
Aufgabe: Im Folgenden ist der Code des selbstlernenden Spiels Tiere Raten abgedruckt. Der Code ist noch nicht lauffähig. Damit das Spiel gespielt werden kann, müssen in der Klasse Tiere Raten einige Dinge
MehrErste Java-Programme (Scopes und Rekursion)
Lehrstuhl Bioinformatik Konstantin Pelz Erste Java-Programme (Scopes und Rekursion) Tutorium Bioinformatik (WS 18/19) Konstantin: Konstantin.pelz@campus.lmu.de Homepage: https://bioinformatik-muenchen.com/studium/propaedeutikumprogrammierung-in-der-bioinformatik/
MehrÜbung Grundlagen der Programmierung WS 2008/09. Übung 04: Methoden. Abgabetermin: Prosabeschreibung Java-Programm.
Übung 04: Methoden Abgabetermin: 11. 11. 2008 Name: Matrikelnummer: Gruppe: G1 (Prähofer) G2 (Wolfinger) G3 (Wolfinger) Aufgabe Punkte gelöst abzugeben schriftlich abzugeben elektronisch Aufgabe 4.1 12
MehrI N F O R M A T I K UNIVERSITÄT LINZ. SWE1 / Übung 9. Schrittweise Verfeinerung
Schrittweise Verfeinerung Wiederholung Was ist Programmieren? Lösungsidee Algorithmische Lösung Programm programmieren Problemstellung Lösung in der Form eines korrekten Programm Testplan Testfälle Testprogramm
MehrJAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)
JAVA BASICS 2. Primitive Datentypen 1. Warum Java? weit verbreitet einfach und (relativ) sicher keine Pointer (?) keine gotos kein Präprozessor keine globalen Variablen garbage collection objekt-orientiert
MehrGeoinformatik und Vermessung Prüfung 502 : Informatik (JAVA)
Geoinformatik und Vermessung Prüfung 502 : Informatik (JAVA) Ihr Name: Matrikelnummer: Allgemeine Hinweise: Erlaubtes Hilfsmittel: Ein beidseitig handbeschriebenes Din-A4-Blatt Tragen Sie Ihren Namen und
MehrEndklausur 25. September 2012
Endklausur 25. September 2012 Institut für Informatik Einführung in die Programmierung Sommersemester 2012 Name: Matrikel: Raum: Audimax 2 Vorname: Studiengang: Sitzreihe: Sitzplatz: Für Ihre Lösungen
MehrMartin Unold INFORMATIK. Geoinformatik und Vermessung
Wiederholung So sieht ein leeres Java-Programm aus public class Programmname { public static void main (String[] args) { // Hier stehen die Anweisungen Welche Arten von Anweisungen gibt es? Anweisungen
MehrInformatik 1 - Translation Studies in Information Technology. Musterlösung zum Aufgabenblatt der ersten Pflichtübung im Wintersemester 18/19
Informatik 1 - Translation Studies in Information Technology INF1 TSIT MUSTERLÖSUNG: PFLICHTÜBUNG 1 Musterlösung zum Aufgabenblatt der ersten Pflichtübung im Wintersemester 18/19 Praktikum zur Vorlesung
MehrAufgabe 1.90: Ein Geschäft gibt ihren Kunden unterschiedliche Rabatte. Schreiben ein Programm, das folgende Rabattklassen vorsieht:
Aufgabe 1.90: Ein Geschäft gibt ihren Kunden unterschiedliche Rabatte. Schreiben ein Programm, das folgende Rabattklassen vorsieht: o Klasse 0: kein Rabatt o Klasse 1: 4,5 % Rabatt o Klasse 2: 8,75% Rabatt
MehrInstitut für Programmierung und Reaktive Systeme 5. Dezember Programmieren I. 5. Übungsblatt
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 5. Dezember 2016 Programmieren I 5. Übungsblatt Hinweis: Auf diesem und den folgenden Übungsblättern
MehrInformatik Praktikum 5
Informatik Praktikum 5 Michael Roth Andreas Behr michael.roth@h-da.de andreas.behr@h-da.de 1 Programmieraufgaben Diese kleinen Aufgaben sollen Ihnen helfen das gelernte noch ein wenig mehr zu vertiefen.
MehrEinführung in die Programmierung mit Java
Einführung in die Programmierung mit Java Teil 9: Ausnahmebehandlung Martin Hofmann Steffen Jost LFE Theoretische Informatik, Institut für Informatik, Ludwig-Maximilians Universität, München 8. Dezember
MehrGeoinformatik und Vermessung Prüfung 502 : Informatik (JAVA)
Geoinformatik und Vermessung Prüfung 502 : Informatik (JAVA) Ergebnisse teilgenommen: 73 nicht bestanden: 22 bestanden: 51 davon 4er: 12 davon 3er: 18 davon 2er: 15 davon 1er: 6 Aufgabe 1: Tracing 4 Punkte
MehrHochschule Darmstadt Informatik-Praktikum SS 2018 EIT Bachelor 3. Aufgabenblatt Funktionen - Unterprogramme
Ziel ist die Aufteilung eines Programms in Funktionen und Dateien Aufgabe 3: Diese Aufgabe ist die Weiterentwicklung von Aufgabe 2. Es ist ein Programm zu erstellen, in welchem der Anwender aus einer Anzahl
MehrInformatik B von Adrian Neumann
Musterlösung zum 7. Aufgabenblatt vom Montag, den 25. Mai 2009 zur Vorlesung Informatik B von Adrian Neumann 1. Java I Schreiben Sie ein Java Programm, das alle positiven ganzen Zahlen 0 < a < b < 1000
MehrProgrammierung für Mathematik HS11
software evolution & architecture lab Programmierung für Mathematik HS11 Übung 8 1 Aufgabe: Codeverständnis (Repetition) 1.1 Lernziele 1. Code verstehen können. 2. Fehler im Code finden und korrigieren
MehrAufgabenblatt: Entscheidungen I If-Block
Aufgabenblatt: Entscheidungen I IF-Block - Seite 1 Aufgabenblatt: Entscheidungen I If-Block Bestimmen Sie die Ausgabe, die folgende Zeilen erzeugen, OHNE den Programmkode einzugeben! Nehmen Sie an, dass
MehrEINI LW/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 14/15
EINI LW/ Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 14/15 Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@tu-dortmund.de
MehrMethoden. 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
MehrKlassen, Vererbung, Benutzereingabe
Klassen, Vererbung, Benutzereingabe Zentralübung zur Vorlesung Einführung in die Informatik http://www.pst.ifi.lmu.de/lehre/wise-11-12/infoeinf WS11/12 Inhalte der letzten Vorlesungen: Objektorientierte
MehrGeoinformatik und Vermessung Prüfung 502 : Informatik (JAVA)
Geoinformatik und Vermessung Prüfung 502 : Informatik (JAVA) Ihr Name: Matrikelnummer: Allgemeine Hinweise: Erlaubtes Hilfsmittel: Ein beidseitig handbeschriebenes Din-A4-Blatt Tragen Sie Ihren Namen und
MehrEin 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";
MehrAufgabe 5.1 (Laboraufgabe, Nocheinmal ein wenig Graphik)
Übungen zu Objektorientierte Programmierung in Java PD Dr. Wolfgang Goerigk Sommersemester 2009 Musterlösungen Serie 5 Aufgabe 5.1 (Laboraufgabe, Nocheinmal ein wenig Graphik) Die Klasse java.awt.container
Mehr2 Programmieren in Java I noch ohne Nachbearbeitung
1 2 Programmieren in Java I noch ohne Nachbearbeitung 2.1 Was sind Programme? Eingabe = Verarbeitung = Ausgabe Die Eingabe kann sein Konstanten im Quelltext; Kommandozeilenparameter oder interaktive Eingabe
MehrJava Übung. Übung 3. Werner Gaulke. 2. Mai Universität Duisburg-Essen Kommedia, Übung EinPro SS06, Einführung in Java - Übung.
Java Übung Übung 3 Universität Duisburg-Essen Kommedia, Übung EinPro SS06, 2. Mai 2006 (UniDUE) 2. Mai 2006 1 / 17 Aufgabe 1 Umwandeln von do while in for Schleife. Listing 1: aufgabe3 1.java 1 public
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 06: Einführung in Kontrollstrukturen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Einführung in Kontrollstrukturen 3 Grundstrukturen von
MehrProgrammiervorkurs. Wintersemester 2013/2014
Programmiervorkurs Wintersemester 2013/2014 Programmiervorkurs Wintersemester 2013/2014 Organisation: Tutoren: Steffen Gebert, Alexander Wolff Johannes Grohmann, Anna Seufert, Anna Aumann, Nicolas Färber,
MehrDr. Monika Meiler. Inhalt
Inhalt 4 Einführung in die Programmiersprache Java (Teil II)... 4-2 4.4 Strukturierte Programmierung... 4-2 4.4.1 Strukturierung im Kleinen... 4-2 4.4.2 Addierer (do-schleife)... 4-3 4.4.3 Ein- Mal- Eins
MehrDatentypen und Operatoren
Programmiervorkurs SS 2013 Datentypen und Operatoren Termin 2 Wiederholung: Einfache Datentypen Welche Datentypen kennt Ihr bereits? Einfache Datentypen Zeichen public class MyCharTest { char c1 = 'a';
MehrAutoboxing - Nachtrag
Autoboxing - Nachtrag Mit dem Autoboxing ist eine Reihe von Unregelmässigkeiten verbunden, die der Programmierer beachten muss, um Fehler zu vermeiden. aus: Christian Ullenboom Java ist auch eine Insel
MehrGeoinformatik und Vermessung Prüfung 502 : Informatik (JAVA)
Geoinformatik und Vermessung Prüfung 502 : Informatik (JAVA) Ihr Name: Matrikelnummer: Allgemeine Hinweise: Erlaubtes Hilfsmittel: Ein beidseitig handbeschriebenes Din-A4-Blatt Tragen Sie Ihren Namen und
MehrProgrammierstarthilfe SS 2010 Fakultät für Ingenieurwissenschaften und Informatik 2. Blatt Für die Woche vom 3.5. bis zum 7.5.
Programmierstarthilfe SS 2010 Fakultät für Ingenieurwissenschaften und Informatik 2. Blatt Für die Woche vom 3.5. bis zum 7.5.2010 (KW 18) Organisatorisches Im Web unter http://www.uni-ulm.de/in/programmierstarthilfe.html
MehrArrays und Schleifen
Arrays und Schleifen Javakurs 2014, 2. Vorlesung Sebastian Schuck basierend auf der Vorlage von Theresa Enghardt, Mario Bodemann und Sebastian Dyroff wiki.freitagsrunde.org 3. März 2014 This work is licensed
MehrInformatik 1 - Translation Studies in Information Technology. Musterlösung zum Aufgabenblatt der ersten Pflichtübung im Wintersemester 16/17
Informatik 1 - Translation Studies in Information Technology INF1 TSIT MUSTERLÖSUNG: PFLICHTÜBUNG 1 Musterlösung zum Aufgabenblatt der ersten Pflichtübung im Wintersemester 16/17 Praktikum zur Vorlesung
MehrMartin Unold INFORMATIK. Geoinformatik und Vermessung
Wiederholung So sieht ein leeres Java-Programm aus public class Programmname { public static void main (String[] args) { // Hier stehen die Anweisungen Anweisungen mit Variablen Wiederholung Deklaration
Mehr5.2 Input/Output mit Dateien
252-0027 Einführung in die Programmierung 5.2 Input/Output mit Dateien Michael Faes & Thomas R. Gross Departement Informatik Manipulieren von Dateien Klasse File erlaubt Operationen mit Dateien (Files)
MehrEingabe und Ausgabe in Java. Dr. Horst Treiblmaier Abteilung für Wirtschaftsinformatik WU Wien
Eingabe und Ausgabe in Java Dr. Horst Treiblmaier Abteilung für Wirtschaftsinformatik WU Wien Eingabe Beispiel1 public class Input1 { public static void main(string[] args) { for (int i = 0; i < args.length;
Mehr2 Eine einfache Programmiersprache
2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir
MehrEinführung in die Java- Programmierung
Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Rückblick Datentypen (int, long, double, boolean, String) Variablen und Variablendeklarationen
MehrÜbungen zum Bioinformatik-Tutorium. Blatt 3
Institut für Informatik Wintersemester 2018/19 Praktische Informatik und Bioinformatik Prof. Dr. Ralf Zimmer Übungen zum Bioinformatik-Tutorium Blatt 3 Termin: Dienstag, 6.11.2018, 11 Uhr 1. Hello World
MehrEinfache Arrays. Dr. Philipp Wendler. Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung
Dr. Philipp Wendler Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung WS18/19 https://www.sosy-lab.org/teaching/2018-ws-infoeinf/ Arrays: Wiederholung Ein
MehrProgrammierkonventionen - 1 -
Die wichtigsten Bestandteile der Programmierkonventionen für Java werden hier erläutert. Dies sind: Schreibweise von Bezeichnern Einrückkonventionen Kommentare Programmierkonventionen - 1 - Einleitung
MehrPROGRAMMIERUNG IN JAVA
PROGRAMMIERUNG IN JAVA ZUWEISUNGEN (1) Deklaration nennt man die Ankündigung eines Platzhalters (Variablen) und Initialisierung die erste Wertvergabe bzw. die konkrete Erstellung des Platzhalters. In einem
MehrEinstieg 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
MehrProgrammiervorkurs. Organisation: Steffen Gebert, Alexander Wolff. Tutoren: Jürgen Zöller, Jonathan Stoll. Wintersemester 2012/2013
Programmiervorkurs Wintersemester 2012/2013 Organisation: Steffen Gebert, Alexander Wolff Tutoren: Jürgen Zöller, Jonathan Stoll Kontakt (für Organisatorisches, Fehler auf Folien...): Steffen Gebert steffen.gebert@informatik.uni-wuerzburg.de
Mehrpue13 January 28, 2017
pue13 January 28, 2017 1 Aufgabe 1 (Klammern und Anweisungsblöcke) Wie Sie in der Vorlesung gelernt haben, werden Anweisungsblöcke in Java nicht durch Einrückung, sondern mithilfe von geschweiften Klammern
MehrVon der Aufgabe zum Code. Mario Bodemann
Von der Aufgabe zum Code Mario Bodemann 1 Agenda Wiederholung Aufgabenstellung Aufspalten der Aufgabe Vom Diagramm zum Code richtiges Programmieren Zusammenfassung 2 Agenda Wiederholung Aufgabenstellung
Mehr1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays)
1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays) II.1.3. Anweisungen und Kontrollsttukturen - 1 - 3. Anweisungen und Kontrollstrukturen
MehrComputeranwendung und Programmierung (CuP)
Computeranwendung und Programmierung (CuP) Übungsorganisation Bringen Sie Ihren Labtop in die Übungen mit! 09.10.2017 CuP - VO 2 Programmieren 1. Definition der Aufgabe, die das Programm lösen soll. 2.
MehrPrimitive Datentypen
Primitive Datentypen 2 Arten von Datentypen: primitive Datentypen (heute) Objekte (später) Java ist streng typisiert, d.h. für jede Variable muß angegeben werden was für eine Art von Wert sie aufnimmt.
Mehr2 Eine einfache Programmiersprache
2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir
Mehr2 Eine einfache Programmiersprache. Variablen. Operationen Zuweisung. Variablen
Variablen Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Variablen dienen zur Speicherung von Daten. Um Variablen
Mehr