Java gyakorlat feladatai e s megolda sai (2014.04.10)



Hasonló dokumentumok
Java Programozás 1. Gy: Java alapok. Ismétlés ++

Java bevezet o Kab odi L aszl o Kab odi L aszl o Java bevezet o

Objektum Orientált Programozás. 11. Kivételkezelés 44/1B IT MAN

Kivételek kezelése (exception handling) Hibakezelés old style. Kivételkezelés

Programozási nyelvek II.: JAVA

BME MOGI Gépészeti informatika 4.

Programozási nyelvek Java

Programozási nyelvek Java

Kivételkezelés, naplózás. Exception handling, logging

Az osztályok csomagokba vannak rendezve, minden csomag tetszőleges. Könyvtárhierarhiát fed: Pl.: java/util/scanner.java

Java programozási nyelv 10. rész Input/output kezelés

Informatika terméktervezőknek

3. Határozza meg és írja ki a minta szerint, hogy a forrásállományban hány kémiai elem felfedezési adatai

hiányzott szeptemberben vagy A tanuló nem hiányzott szeptemberben szöveget

Az emelt szintű. informatika érettségi. programozási feladatainak. megoldása Java nyelven. NetBeans IDE 8.1 környezetben

OOP: Java 11.Gy: Enumok, beágyazott osztályok. 13/1 B ITv: MAN

HORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport

Java programozási nyelv 6. rész Java a gyakorlatban

4. Gy: JAVA osztályok

Torna. A torna.csv UTF-8 kódolású állományban soronként egy versenyző eredményeit tároljuk. Az adatokat pontosvessző választja el egymástól.

BME MOGI Gépészeti informatika 13.

Java programozási nyelv

Abstract osztályok és interface-ek. 7-dik gyakorlat

7. K: JAVA alapok Konzultáció

A képernyőre írást igénylő részfeladatok eredményének megjelenítése előtt írja a képernyőre a feladat sorszámát (például: 3. feladat:)!

Java Programozás 9. Gy: Java alapok. Adatkezelő 5.rész

Java Programozás 11. Ea: MVC modell

BASH script programozás II. Vezérlési szerkezetek

Programozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Objektum Orientált Programozás. 5. JAVA osztályok 21/1B IT MAN

Java Programozás 4. Gy: Java GUI. Tipper, MVC kalkulátor

Kalapácsvetés 2016 szöveges

OOP: Java 1.Gy: Java alapok

Programozás I. Második ZH segédlet

Segédanyag: Java alkalmazások gyakorlat

AWK programozás, minták, vezérlési szerkezetek

Programozás alapjai gyakorlat. 4. gyakorlat Konstansok, tömbök, stringek

OOP: Java 8.Gy: Gyakorlás

Bánsághi Anna 2014 Bánsághi Anna 1 of 35

Szoftvertechnolo gia gyakorlat

OOP: Java 4.Gy: Java osztályok

Írjon olyan programot a standard könyvtár alkalmazásával, amely konzolról megadott valós adatokból meghatározza és kiírja a minimális értékűt!

3. Osztályok II. Programozás II

AWK programozás, minták, vezérlési szerkezetek

Szoftvertechnológia alapjai Java előadások

OOP: Java 6.Gy: Java osztályok. Definíció, static, túlterhelés

Operációs Rendszerek II. labor. 2. alkalom

INFORMATIKAI ALAPISMERETEK

Kivételkezelés, beágyazott osztályok. Nyolcadik gyakorlat

AWK programozás Bevezetés

Helyes-e az alábbi kódrészlet? int i = 1; i = i * 3 + 1; int j; j = i + 1; Nem. Igen. Hányféleképpen lehet Javaban megjegyzést írni?

BASH SCRIPT SHELL JEGYZETEK

Java Programozás 6. Gy: Java alapok. Adatkezelő 2.rész

Programozás alapjai 9.Gy: Struktúra 2.

BME MOGI Gépészeti informatika 5.

Programozás I. Szöveges fájlok kezelése Felsorolástípus Objektumtömb Gyakorló feladatok

Dinamikus adatszerkezetek. 2D generikus tömb: C++ 2D generikus tömb: C++

Dinamikus adatszerkezetek. 2D generikus tömb: C++ 2D generikus tömb: C++ 2D tömb: Java versus C++ 2D tömb: Java.

Programozási nyelvek II.: JAVA

Java és web programozás

// keressük meg a legnagyobb faktoriális értéket, ami kisebb, // mint százmillió

Programozási nyelvek II. JAVA EA+GY 1. gyakolat

Gelle Kitti Algoritmusok és adatszerkezetek gyakorlat - 07 Hasítótáblák

Segédanyag: Java alkalmazások gyakorlat

Java VI. Egy kis kitérő: az UML. Osztály diagram. Általános Informatikai Tanszék Utolsó módosítás:

INFORMATIKAI ALAPISMERETEK

Stateless Session Bean

7. Laboratóriumi gyakorlat, 1. rész : Vezérlési szerkezetek II.

Programozás I. Matematikai lehetőségek Műveletek tömbökkel Egyszerű programozási tételek & gyakorlás V 1.0 OE-NIK,

Programozás I. Második ZH segédlet

BEKÉRT ADAT KÉPERNYŐRE ÍRÁSA KÖRNYEZETI VÁLTOZÓK FÁJL REDEZETT KIÍRÁSA KÖNYVTÁRBAN BEJEGYZÉSEK SZÁMA FÁJLBAN SZÁM NÖVELÉSE. #!

INFORMATIKAI ALAPISMERETEK

OOP: Java 8.Gy: Abstract osztályok, interfészek

3. Gyakorlat Ismerkedés a Java nyelvvel

JAVA SE/ME tanfolyam tematika

Bevezetés a programozásba I 4. gyakorlat. PLanG: Szekvenciális fájlkezelés. Szekvenciális fájlkezelés Fájlok használata

Java és web programozás

1. feladat Készítse el szövegszerkesztővel, majd mentse osztály.txt néven a következő tartalmú szöveges fájlt:

Objektumorientált programozás C# nyelven

Bevezetés a programozásba I 4. gyakorlat. PLanG: Szekvenciális fájlkezelés

PROGRAMOZÁS ALAPFELADATOK

Java és web programozás

Szoftvertervezés és -fejlesztés I.

Programozás I. Első ZH segédlet

Szkriptnyelvek. 1. UNIX shell

Programozás I. 1. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Programozás I. 8. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Mentsd el code file-t kektura.cs néven, illetve kiterjesztéssel! Másold be a kektura.csv állományt a Projects munkamappa megfelelő almappájába!

JNDI - alapok. Java Naming and Directory Interface

Számítógépes Hálózatok GY 3-4.hét

Szöveges fájl kezelése (a Caesar-kód feltörése) A kód feltörésének statisztikai háttere

BME MOGI Gépészeti informatika 1.

CREATE TABLE student ( id int NOT NULL GENERATED ALWAYS AS IDENTITY PRIMARY KEY, name varchar(100) NOT NULL, address varchar(100) NOT NULL )

GenerikusOsztály<objektumtípus> objektum = new GenerikusOsztály<objektumtípus>();

7. gyakorlat Sorozatok, Fájlkezelés

JAVA ALKALMAZÁSOK 5. ELŐADÁS 1/9/2017 1

A C# programozási nyelv alapjai

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):

Programozási nyelvek II. JAVA EA+GY 1. gyakolat

SZÁMÍTÓGÉPES ADATBÁZIS-KEZELÉS. A MySQL adatbáziskezelő PHP folytatás JDBC, ODBC

Átírás:

Java gyakorlat feladatai e s megolda sai (2014.04.10) 1. Feladat Számítsuk ki a Fibonacci sorozat első 20 tagját! / Fibonacci számsorozat tagjait kiszámoló, egyetlen osztályból álló program @author Bence Bagyinszki / public class Fibonacci public static void main(string[] args) int a=1; //A nagyobb szám (1. elem) int b=1; //A kisebb szám (0. elem) //Első húsz elem számítása for(int i=0; i<20;i++) System.out.println(b); //Kiírjuk a 0. elemet //Egy temporális változóban elmentjük a két szám összegét int temp=a+b; //A korábbi kisebb elem megkapja a nagyobb elem értékét b=a; //A korábbi nagyobb elem megkapja a két korábbi elem összegét a=temp;

2. Feladat Írj számkitalálós játékot! A gép gondoljon egy véletlen számra 1 és 100 között, majd a konzolról beolvasott tippekre reagáljon kisebb, nagyobb vagy eltaláltad konzol üzenettel (nyilván mindig a megfelelővel!). A sikeres találat után a program megáll, de újbóli indításkor (valószínűleg) másik véletlen számra gondol. import java.io.bufferedreader; import java.io.inputstreamreader; import java.util.random; / Véletlen számra gondoló program @author Bence Bagyinszki / public class Main public static void main(string[] args) //Elsőként megpéldányosítjuk a véletlen számok generálásáért felelős osztályt //Seedként megkapja az aktuális időt Random a=new Random(System.currentTimeMillis()); //Kérünk a példányunktól egy véletlen számot 0 és 100 között int b=a.nextint(100); //Standard inputról bitfolyamot olvasó és azt karakterfolyammá alakító reader InputStreamReader isr=new InputStreamReader(System.in); //Karakterfolyamot pufferelő reader, a soronkénti olvasáshoz szükséges BufferedReader br=new BufferedReader(isr); //A játék végét jelző flag boolean gameover=false; //Tájékoztatjuk a felhasználót a feladatról System.out.println("Találd ki melyik számra gondoltam!"); //Kivételkezelés, a streamkezelésnél mindig szükség van rá try //Amíg a játék végét jelző flaget be nem billentjük... while( gameover==false) s=br.readline(); //...beolvasunk egy sort... int temp=integer.parseint(s); //amit egészre konvertálunk if(b<temp) //...és összehasonlítjuk a véletlen számunkkal System.out.println("Kisebb"); if(b>temp) System.out.println("Nagyobb"); System.out.println("Kitaláltad!"); gameover=true; //ha eltaláltuk bebillentjük a flaget hibakimenetre e.printstacktrace(); //Hiba esetén kiírjuk a hibaszöveget a standard

3. Feladat Hányszor szerepel a Romeo és Júlia eredeti szövegében a love szó? Írj olyan programot, amely tetszőleges szóra hatékonyan megállapítja hogy hányszor szerepel a szövegben! http://www.textfiles.com/etext/authors/shakespeare/shakespeare-romeo-48.txt import java.io.; import java.util.; public class Main / Szószámláló program @author Bence Bagyinszki @param args / public static void main(string[] args) //Szótár, amiben majd a szavakat tároljuk, string kulcs és egész értékkel HashMap<String, Integer> szavak=new HashMap<String,Integer>(); try //Olvasás a filereader konstruktorában megadott fájlból FileReader fr=new FileReader("romeo.txt"); BufferedReader br=new BufferedReader(fr); //Amíg tudunk újabb sorokat beolvasni addig olvasunk while((s=br.readline())!=null) //Csak a kis és nagybetűket valamint a számokat és szóközöket hagyjuk meg s=s.replaceall("[^a-za-z0-9 ]", ""); //Az egész szöveget kisbetűssé alakítjuk s=s.tolowercase(); //A sorunkat a whitespace-ek mentén feldaraboljuk egy tömbbe String[] words=s.split(" "); //For-each ciklus a tömb elemeire for(string w: words) //Ha már benne volt az adott szó akkor növeljük a számlálóját if(szavak.containskey(w)) szavak.put(w, szavak.get(w)+1); //Ha még nem volt benne akkor belerakjuk 1-es számlálóértékkel szavak.put(w, 1); //Lezárjuk a streamet, majd kiírjuk hogy hányszor szerepelt a megadott szó br.close(); System.out.println(szavak.get("love")); e.printstacktrace();

4. Feladat Írj alapszintű fájlkezelő alkalmazást, ami a standard inputon várja a parancsokat, és soronként beolvasva végrehajtja őket. A megvalósítandó parancsok: ls (-l) Az aktuális mappa fájljainak kiírása. Ha szerepel a l kapcsoló is, akkor azt is írjuk ki, hogy fájlról vagy mappáról van szó, illetve hogy mekkora a mérete. cd <mappanév> A megadott mappába való belépés. Ha a mappanév.., akkor egy szinttel feljebb lépünk. Ha a megadott mappa nem létezik, akkor FileNotFoundExceptiont dobunk, és konzol üzenetben jelezzük. mkdir <mappanév> Létrehozunk egy megadott nevű mappát, ha az még nem létezik. Ha már létezik adott nevű mappa, akkor FileAlreadyExistsExceptiont dobunk, és konzol üzenetben jelezzük. exit Kilép a programból. import java.io.; import java.nio.file.filealreadyexistsexception; / Alapszintű konzolos fájlkezelő program A kiíráshoz képest kevesebb funkcionalitással bír, az ls parancs -l kapcsolója nincs megvalósítva benne, de a minta alapján egy újabb elágazással ez könnyedén kivitelezhető (isdirectory() és length() metódusokkal). @author Bence Bagyinszki / public class Main public static void main(string[] args) //Kiindulási helyként kérjük le a felhasználó saját könyvtárát File now=new File(System.getProperty("user.dir")); //A rendszerfüggetlenség megőrzéséhez kérdezzük le az elérési út szeparátorát String separator=system.getproperty("file.separator"); //Beolvasás InputStreamReader isr=new InputStreamReader(System.in); BufferedReader br=new BufferedReader(isr); try //Folyamatosan várjuk a parancsokat while((s=br.readline())!=null) //A parancsot részekre tördeljük String[] commands=s.split(" "); //Az első parancsszó mentén döntünk az akcióról switch(commands[0]) case "ls": //File-ok listázása File[] list=now.listfiles(); for(int i=0;i<list.length;i++) System.out.println(list[i].getName());

case "cd": //Ha nincs megadva hogy hova lépjünk akkor hibát dobunk if(commands.length<2) throw new ArrayIndexOutOfBoundsException(); //..-ra feljebb lépünk egy szinttel if(commands[1]=="..") now=now.getparentfile(); //Megnézzük hova vezetne a parancs File temp = new File(now.getPath() + separator + commands[1]); //Ha létezik az adott könyvtár akkor odanavigálunk if(temp.exists()) now=temp; //Ha nem létezik hibát dobunk throw new FileNotFoundException(); case "mkdir": //Ha nem mondtuk meg hogy mi legyen a mappa neve hibát dobunk if(commands.length<2) throw new ArrayIndexOutOfBoundsException(); //Megnézzük hova vezetne a parancs File temp = new File(now.getPath() + separator + commands[1]); //Ha már létezik az adott könyvtár akkor hibát dobunk if(temp.exists()) throw new FileAlreadyExistsException(temp.getName()); //Ha még nem létezik akkor létrehozzuk temp.mkdir(); case "exit": //Kilépés System.exit(0); e.printstacktrace();