Java Cvičení 05. CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics

Podobné dokumenty
Java Cvičení 01. CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics

Podmínky na zápočet. Java, zimní semestr

Programování v Javě I. Únor 2009

1. Téma 12 - Textové soubory a výjimky

Textové soubory. alg9 1

Programování v Javě I. Leden 2008

2011 Jan Janoušek BI-PJP. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Semin aˇr Java V yjimky Radek Ko ˇc ı Fakulta informaˇcn ıch technologi ı VUT Unor 2008 Radek Koˇc ı Semin aˇr Java V yjimky 1/ 25

SPECIFICATION FOR ALDER LED

Algoritmizace a programování

6. PRÁCE S DATOVÝMI PROUDY

Statické proměnné a metody. Tomáš Pitner, upravil Marek Šabo

Soubor jako posloupnost bytů

Doxygen. Jakub Břečka

Čipové karty Lekařská informatika

RMI Remote Method Invocation

PROGRAMOVÁNÍ V C++ CVIČENÍ

Práce se soubory v Javě

8. přednáška: Soubory a proudy

Úvod do programování - Java. Cvičení č.4

Vytváření a použití knihoven tříd

Regulární výrazy. Vzory

7. Datové typy v Javě

Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod.

Java - výjimky. private void vstup() throws IOException {... }

Pokud zadání nerozumíte nebo se vám zdá nejednoznačné, zeptejte se. Pište čitelně, nečitelná řešení nebudeme uznávat.

3 KTE / ZPE Informační technologie

PREPROCESOR POKRAČOVÁNÍ

Iterator & for cyklus

UŽIVATELSKÁ PŘÍRUČKA

Aplikace matematiky. Dana Lauerová A note to the theory of periodic solutions of a parabolic equation

Chyby a výjimky. Chyba. Odkud se chyby berou? Kdo chyby opravuje? Co můžete dělat jako programátor? Dvě hlavní metody práce s chybami.

Generické programování

Úvod do programovacích jazyků (Java)

Distribuované systémy a výpočty

PROGRAMOVACÍ JAZYKY A PŘEKLADAČE STRUKTURA PŘEKLADAČE

WORKSHEET 1: LINEAR EQUATION 1

KTE / ZPE Informační technologie

2N Voice Alarm Station

Z. Kotala, P. Toman: Java ( Obsah )

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Programovací jazyk Java

Zpracování výjimečných situací

Transportation Problem

Uživatelská příručka. Xperia P TV Dock DK21

Principy objektově orientovaného programování

ANT. Aplikační programování v Javě (BI-APJ) - 1 Ing. Jiří Daněček Katedra softwarového inženýrství Fakulta informačních technologií ČVUT Praha

17. Projekt Trojúhelníky

GUIDELINES FOR CONNECTION TO FTP SERVER TO TRANSFER PRINTING DATA

2N LiftIP. Voice Alarm Station. Communicator for Lifts. Version

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Algoritmizace a programování

Přehled probírané látky

Neměnné objekty. Tomáš Pitner, upravil Marek Šabo

Introduction to MS Dynamics NAV

Martin Flusser. Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague. October 17, 2016

Ošetřování chyb v programech

VY_32_INOVACE_06_Předpřítomný čas_03. Škola: Základní škola Slušovice, okres Zlín, příspěvková organizace

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Compression of a Dictionary

Java Výjimky Java, zimní semestr

Počítačové laboratoře bez tajemství aneb naučme se učit algoritmizaci a programování s využitím robotů CZ.1.07/1.3.12/

Výjimky. v C# a Javě

Java Řetězce Java, zimní semestr

Typický prvek kolekce pro české řazení

DATA SHEET. BC516 PNP Darlington transistor. technický list DISCRETE SEMICONDUCTORS Apr 23. Product specification Supersedes data of 1997 Apr 16

Konstruktory překladačů

Martin Flusser. Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague. October 23, 2016

Základy programovaní 3 - Java. Unit testy. Petr Krajča. Katedra informatiky Univerzita Palackého v Olomouci. 26.,27.

x86 assembler and inline assembler in GCC

Řídicí příkazy KAPITOLA 3. Vstup znaků z klávesnice

3 Vývojová prostředí, základní prvky jazyka Java, konvence jazyka Java

Úvod do programovacích jazyků (Java)

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Vstupní a vstupní proudy v C++

Postup objednávky Microsoft Action Pack Subscription

IUJCE 07/08 Přednáška č. 1

Cambridge International Examinations Cambridge International General Certificate of Secondary Education

GENERAL INFORMATION MATCH: ALSA PRO ARENA MASTERS DATE: TIME SCHEDULE:

PAINTING SCHEMES CATALOGUE 2012

KTE / ZPE Informační technologie

Hi-Res Audio/DNC Headset MDR-NC750

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Jak importovat profily do Cura (Windows a

NA CO SI DÁT POZOR V JAVASCRIPTU? Angular.cz

Obsah&/&Content& Všeobecné)podmínky)(v)češtině)) Terms)and)Conditions)(in)english)) )

Just write down your most recent and important education. Remember that sometimes less is more some people may be considered overqualified.

2. Entity, Architecture, Process

Java a XML. 10/26/09 1/7 Java a XML

ZDRAVOTNÍ RIZIKA HEALTH MATERIALS FOR STUDENTS

Univerzita Palackého v Olomouci Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 19.2.

Operační systémy. Cvičení 1: Seznámení s prostředím

Martin Flusser. December 15, 2016

Java - řazení objektů

Výukový materiál zpracován v rámci projektu EU peníze školám

Tento materiál byl vytvořen v rámci projektu Operačního programu Vzdělávání pro konkurenceschopnost.

IRAE 07/08 Přednáška č. 2. atr1 atr2. atr1 atr2 -33

Projekty pro výuku programování v jazyce Java

USING VIDEO IN PRE-SET AND IN-SET TEACHER TRAINING

Transkript:

Java Cvičení 05 http://d3s.mff.cuni.cz CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics

Test 1 Co program vypíše? Hello world Nic Něco jiného package cz.cuni.mff.java.example05.tests; public class Test01 { public static void main(string[] argv) { String greating = Hello world"; for(int i = 0; i < greating.length(); i++) { System.out.write(greating.charAt(i));

Test 1 Správná odpověď: B) Nic Důvod: a) použití metody raw write(int) místo print(char) b) bufferování System.out = PrintStream Interní bufferování flush = konec řádku Ponaučení: používat správné metody pozor na bufferování

Test 1 // java.io.outputstream /** * Flushes this output stream and forces any buffered output bytes * to be written out. The general contract of <code>flush</code> is * that calling it is an indication that, if any bytes previously * written have been buffered by the implementation of the output * stream, such bytes should immediately be written to their * intended destination. * <p> * If the intended destination of this stream is an abstraction provided by * the underlying operating system, for example a file, then flushing the * stream guarantees only that bytes previously written to the stream are * passed to the operating system for writing; it does not guarantee that * they are actually written to a physical device such as a disk drive. * <p> * The <code>flush</code> method of <code>outputstream</code> does nothing. * * @exception IOException if an I/O error occurs. */ public void flush() throws IOException;

Test 2 Co program vypíše? package cz.cuni.mff.java.example05.tests; public class Test02 { public static void main(string[] argv) { String fullclassname = cz.cuni.mff.java. + example05.tests.test02 ; String filename = fullclassname.replaceall(., / ) +.java ; System.out.println( Trida + fullclassname + musi byt v souboru + filename);

Test 2 Správná odpověď: Trida cz.cuni.mff.java.example05.tests.test02 musí byt v souboru ///////////////////////////////////////.java Důvod: použití špatné metody String.replaceAll místo String.replace(char, char) Ponaučení: Vždy číst dokumentaci (javadoc)

Test 2 // java.lang.string /** * Replaces each substring of this string that matches * the given regular expression with the given replacement. * * An invocation of this method of the form str.replaceall(regex, repl) * yields exactly the same result as the expression * Pattern.compile(regex).matcher(str).replaceAll(repl) * * Note that backslashes (\) and dollar signs ($) in the replacement string * may cause the results to be different than if it were being treated as a * literal replacement string; see Matcher.replaceAll. * Use Matcher.quoteReplacement(java.lang.String) to suppress the special * meaning of these characters, if desired. * * @param regex the regular expression to which this string is to be matched * @param replacement the string to be substituted for each match * @return the resulting String * @throws PatternSyntaxException if the regular expression's syntax is invalid * @see java.util.regex.pattern */ public String replaceall(string regex, String replacement);

Test 2 Správná odpověď: Trida cz.cuni.mff.java.example05.tests.test02 musí byt v souboru ///////////////////////////////////////.java Důvod: použití špatné metody String.replaceAll místo String.replace(char, char) Ponaučení: Vždy číst dokumentaci (javadoc) Úkol 0 Nastavte si IDE tak, aby zobrazovalo javadoc

Test 3 Co se stane: A) Nelze přeložit chybná syntax B) Lze přeložit, ale nelze spustit hlavní program nemůže být v enumu C) Lze přeložit i spustit vypíše Hello package cz.cuni.mff.java.example05.tests; public enum Test03 { RED, GREEN, BLUE; public static void main(string[] argv) { System.out.println( Hello );

Úkol 1 File Copy Vytvořte program FileCopy Vstup: parametry programu zdrojový, cílový soubor a metoda Podporované metody: IO - Input/OutputStream NIO Channels a Buffers NIO FileChannel.transferFrom/transferTo NIO Memory mapped files NIO.2 Files.copy() Upravte FileCopy druhý parameter existující adresář zkopíruje soubor do daného adresáře (jméno souboru zůstane stejné)

Úkol 2 - Heapsort Vytvořte program Heapsort metodu public static void heapsort(int[] arr) in place setřídí pole intů metodu main vytvori nahodne pole a overi ze heapsort tridi Heapsort reminder (Reversed) Halda binární strom, maximum v kořeni, pro každý uzel potomci mají menší hodnoty uložená v poli potomek uzlu i 2*i + 1 a 2*i + 2 public static void heapsort(int[] arr) { Heapsort.heapify(arr, arr.length); int end = arr.length 1; while(end > 0) { swap arr[end] arr[0] Heapsort.shiftDown(arr, 0, end - 1); // Repair heap end--;

Úkol 3 - AddUser Vytvořte program AddUser Přidá uživatele na Unixový OS Seznam uživatelů - /etc/passwd vytvořte si kopii a pracuj nad ní Formát viz: man 5 passwd Bude interaktivní ( java.io.console) zeptá se na login (ověří zda neexistuje) zeptá se na uživatelské jméno nabídne UID (umožní změnit a ověří že UID není obsazený) nabídne domovský adresář - /home/username nabídne shell