AlgJavaPro Paths -Linux FreshCopy:H:/temp JavaComp: javac -sourcepath "{Kaust}" -classpath "{Kaust}" -d "{Kaust}" JavaRun: runMain.bat "{Kaust}" JavaRunGr: java -cp "{Kaust}" Main Open-script Import: path=Kaust Save-script Export plain-HTML: path=Kaust Export plain-HTML: path=FreshCopy Textualize+Write text: path=Kaust ext=java Process: export LANG=et_EE.iso8859-15 PRO ABC EST AlgJavaProEST Paths -Linux Kaust: ./pro PROGRAMMITEHNIKA ABC Autorid Jüri Kiho Allikaid 1. J.Kiho. Java programmeerimise aabits. TÜ Kirjastus, Tartu, 2002, 265 lk http://www.cs.ut.ee/~kiho/ProgrAlgJava/Aabits2002/ 2. J. Kiho. Väike Java Leksikon. TÜ Kirjastus, Tartu, 2002, 39 lk 3. I.Meho, H.Uibo, J.Jaeger, J.Kiho, R.Palm, A.Peder, U.Puus, P.Salumaa, E.Tõnisson. Programmeerimise praktikumid. Algklassid. TÜ Kirjastus. Tartu 2003, 44 lk. http://dspace.utlib.ee/dspace/bitstream/handle/10062/17047/998556801X.pdf?sequence=1 4. David J. Eck. Introduction to Programming Using Java, Seventh Edition http://math.hws.edu/javanotes/ 5. Fred Swartz. Java Programming Notes. http://www.leepoint.net/ Saateks Käesolevasse illustreeritud programmiaabitsasse (projekt AlgJavaPro) on koondatud enamus ainetes MTAT.03.100:Programmeerimine ja P2NC.01.083: Programmeerimise algkursus Java baasil käsitletavast programmitehnika materjalist. Aabitsa struktuur järgib aineprogrammi. Seetõttu sobib kasutamiseks just edasijõudnutele täielikuma lisamaterjalina -- mõistete ja võtete kordamiseks ning aine põhjalikumaks omandamiseks, nt eksamiks valmistumisel. Kasutatav ka meelespeana eksamitöö kirjutamisel. Teemade kohta on koostatud rida näiteprogramme, Neid saate vaadata ja katsetada/muuta tavalisel viisil. Programmi avamiseks: ikka kolmekordne hiirelõps programmi (mustaga kirjutatud) nimel käesolevas projektis. NB! Teie poolt näiteprogrammis tehtud muudatused annuleeritakse jooksva programmiakna sulgemisel. Lisatud on näiteprogrammide sisukaart, milles vastava märksõna all viidatakse programm(de)le, kus vastavat mõistet on käsitletud. Programmi avamiseks: ikka kolmekordne hiirelõps programmi (mustaga kirjutatud) nimel. Mõnede tähtsamate märksõnade all on ära toodud ka seonduvaid tüüpilisemaid võtteid. TEEMAD Väljastamine konsoolile KirjutamineKonsoolile.algjava *Kordamiseks Küsimused Harjutused Üldmõisteid Positsioonilised arvusüsteemid Joonis. Mõiste. Joonis. Süsteemidevahelised teisendused. Joonis. Arvud 0 - 64, 256, 512, 1024, 1 048 576. Algoritm ja programm Joonis. Ülesanne -- algoritm -- programm. Joonis. Alamülesanne ja alamprogramm. Tarkvara arendamise etapid Joonis. Kosk-mudel. Programmi struktuur Joonis. Java-programmi struktuur Joonis. AlgJava programmi struktuur Algtüübid ehk primitiivtüübid Algtyybid.algjava Arvutüübid Arvutyybid.algjava *Kordamiseks Küsimused Harjutused Loogiline tüüp LoogilineI.algjava *Kordamiseks Küsimused Harjutused Sümbolitüüp SymbolYld.algjava SymbolUurimine.algjava SymbolASCIILihtne.algjava Windows SymbolASCII.algjava SymbolKaardid.algjava SymbolUnicode.algjava SymbolAssGr.algjava *Kordamiseks Küsimused Harjutused Viidatüübid Viidatyybid.algjava Muutujad Muutuja.algjava *Kordamiseks Küsimused Harjutused Avaldised AvaldisTeheteta.algjava AvaldisTehted.algjava AvaldisOmistamine.algjava AvaldisUjupunkt.algjava *Kordamiseks Küsimused Harjutused Omistamine Omistamine.algjava *Kordamiseks Küsimused Harjutused Meetod Meetod.algjava MeetodRek.algjava MeetodRekPermut.algjava MeetodAPI.algjava *Kordamiseks Küsimused Harjutused Hargnemine Tingimusdirektivid HargnIfElse.algjava HargnElseIf.algjava Lülitidirektiiv HargnLyliti.algjava Katsendidirektiiv HargnKatsend.algjava *Kordamiseks Küsimused Harjutused Tsükkel TsykkelYld.algjava TsykkelEri.algjava TsykkelKombinats.algjava *Kordamiseks Küsimused Harjutused Järjend/massiiv Ühemõõtmeline massiiv ehk järjend. Järjendi kirjeldamine ja algväärtustamine MassiivKirjeldamine.algjava Järjendi tüüp MassiivTyyp.algjava Tsükkel üle järjendi Jooksva elemendi väärtuse kasutamisega: MassiivElemKasut.algjava Jooksva elemendi indeksi kasutamisega: MassiivIndKasut.algjava Läbivaatamine ja teisendamine lihtsa läbivaatamisega meetodeid MassiivLabivaatamine.algjava indeksiga läbimise meetodeid, sh järjendi väljastamine konsoolile MassiivLabivIndeksiga.algjava teisendamise meetodeid MassiivTeisendamine.algjava Tulemusjärjendi loomise meetodeid MassiivLoomine.algjava MassiivLoomine2.algjava Sorteerimine Arvujärjendi sorteerimine MassiivSortArvud.algjava MassiivSegadaArvud.algjava MassiivViisKaarti.algjava Sõnejärjendi sorteerimine MassiivSortSoned.algjava Järjendite koos-sorteerimine MassiivSortKoos.algjava Lisavahendeid Kloonimine ja osa kopeerimine: MassiivSysCopy.algjava Klassi Arrays meetodeid (sh täimiseks, sorteerimiseks): MassiivArrays.algjava *Kordamiseks Küsimused Harjutused Sõnetüüp Sõne on sümbolite lõplik jada. Sõne kujutamine Sõne võib kujutada sümbolite massiivina, kuid enamasti on märksa otstarbekohasem esitada sõne klassi String isendina. SoneMassiiviJaIsendina.algjava Sõnetüüpi muutuja Sonemuutuja.algjava *Kordamiseks Küsimused Harjutused Sõne sisestamine Vt ka teemat: Kasutaja suhtlemine programmiga AlgJava kontekstis: SoneKonsoolilt.algjava dialoogiakna kaudu: SoneDialoogiaknast.algjava Sõneliteraal Sõneliteraal on konkreetse sõne üleskirjutus programmi tekstis Soneliteraal.algjava Sõneavaldis Sidurdus Sõne väljastamine konsoolile Soneavaldis.algjava Sõnetöötlus Vt ka Abi-info > Käsiraamat > Klassi String meetodite lühikirjeldused arv]]> Arvu teisendamine sõne kujule ArvSoneks.algjava Sõnena esitatud arvu teisendamine arvutüüpi väärtuseks SoneArvuks.algjava Arvu teisendamine Rooma numbritesse ja vastupidi SoneRoomaNr.algjava Sõnede võrdlemine Kas kaks sõnet on võrdsed SonedeVordumine.algjava =< teine sõne]]> SonedeVordlemine.algjava Sõne analüüsimine sümbolite kaupa SoneSymbKaupa.algjava SoneSymbKaupaMass.algjava Kordamiseks Küsimused Harjutused SoneSymbKaupaH1.algjava SoneSymbKaupaH2.algjava alamsõnede kaupa SoneAlamsKaupa0.algjava SoneAlamsKaupaSplit.algjava Kordamiseks Küsimused Harjutused Lähtudes programmidest SoneAlamsKaupa0.algjava ja SoneAlamsKaupaSplit.algjava kirjutada programmid sellise avaldise arvutamiseks, milles esimese arvu ees võib olla ka märk (+ või miinus) Ekraanigraafika Vt ka Abi-info > Käsiraamat > Klassi Graphics meetodite lühikirjeldused Soovitatav alustamine 1. Teha uus tühi programm 2. Tuua sellesse ekraanigraafika programmi näidis (Alt+gr) 3. Kirjutada programmi algusesse lisandi nimi raam 4. Muuta soovikohaselt meetodi joonistada sisu Lihtsad kujundid Ekrgr0.algjava Kordamiseks *Küsimused Harjutused 1. Sinilill Koostada programm, mis joonistab ekraanile ringidest ja ovaalidest moodustatud sinilille: Näpunäiteid Ring või ovaal joonistatakse korraldusega g.fillOval(...); Eelnevalt seada jooksev joonistusvärv: g.setColor(Color.yellow); või g.setColor(Color.blue); 2. Pjedestaal Koostada programm, mis joonistab ekraanile autasustamispejdestaali: Näpunäiteid Pjedestaal koosneb kolmest ristkülikust, joonistatakse korraldustega g.fillRect(...); Kohanumber koosneb lõikudest, joonistatakse korraldustega g.drawLine(...); Teksti joonistamine EkrgrTekst.algjava Kordamiseks *Küsimused Harjutused 1. Kolmnurga joonis Koostada programm, mis kuvab mingi kolmnurga joonise: 2. Ääremuster Koostada programm, mis ääristab tahvli: Näpunäiteid Muster koosneb sümbolitest koodiga 0x203b. Kiri määrata: g.setFont(new Font("Monospaced", Font.PLAIN, 38)); Ühe ääre joonistamise tsüklis korrata: 1) g.drawString( "\u203b", x, y); 2) muuta x või y suuruse d võrra, d=18. Tsentreerimine Alati ekraani keskel EkrgrKeskele.algjava Kordamiseks Küsimused Harjutused 1. Tahvli veerandid Koostada porgramm, mis kahe sirglõigu abil jaotab tahvli neljaks veerandiks. Tahvlile peab ilmuma ka kiri "Muuda raami suurust!". Skaleerimine Sõltuvalt raami suurusest EkrgrMastaap.algjava Kordamiseks Küsimused Harjutused 1. Maksimaalne ring Koostada programm, mis joonistab tahvlile maksimaalse ringjoone, mis veel tahvlile mahub. Ring tuleb paigutada võimalikult alla ja paremale. Tahvli ülemisse vasakusse nurka peab ilmuma ka kiri "Muuda raami suurust!". Juhuslik asukoht EkrgrJuhukoht.algjava Kordamiseks Küsimused Harjutused 1. Ovallid veerandites Koostada porgramm, mis kahe sirglõigu abil jaotab tahvli neljaks veerandiks ja igasse veerandisse joonistab juhuslikult paigutataud ovaali. Tahvlile peab ilmuma ka kiri "Klõpsa hiirega!". Ovaali laiuseks ja kõrguseks olgu kaheksandik vastavalt tahvli laiusest ja kõrgusest. Joonistusvärv EkrgrVarvid.algjava Kordamiseks *Küsimused Harjutused 1. Eesti lipp Koostada programm, mis joonistab Eesti lipu. Lipp paikneb tahvli keskel ja tema suurus sõltub tahvli suurusest. Lipp mahub alat tahvlile. Näpunäiteid Eesti lipu mõõtude suhe on 7:11. Sinise värvi tooniks on new Color(31, 69, 169) Tahvli taustvärviks määrata valgest ja mustast erinev värv. Hulknurgad EkrgrHulknurk.algjava *Kordamiseks Küsimused Harjutused 1. Maastik Koostada programm, mis kuvab maastikumaali kus mets (roheline osa) on joonistatud korralduse g.fillPolygon(...) abil. Metsa puude latvade y-koordinaadid on juhuarvud. Keerukamad joonised EkrgrKeeruk.algjava Kordamiseks Küsimused Harjutused 1. Ruum perspektiivis Koostada programm, mis kuvab toa kujutise perspektiivis: Kujutise suurus peab muutuma koos raami suurusega. 2. Ukse ja aknaga ruum Täiendada eelmist programmi selliselt, et kuvataks ka ukse ja akna kujutised, vastvalt vasakus ning paremas seinas. Joonistamise nihe EkrgrNihe.algjava Joonistamise alammeetodid EkrgrAlammeet.algjava Kordamiseks *Küsimused Harjutused 1. Hinnete tabel Koostada programm, mis joonistab tabeli kujul: Hinne F märkida punasega. Tabeli hõlpsamaks täiendamiseks peab ühe rea (koos lahtrijoontega) joonistamine toimuma alammeetodis. Näpunäiteid Rea joonistamise meetodiks võiks (näiteks) olla void joonistadaRida(Graphics g, String kood, String aine, String hinne, int x, int y, int laius, int kõrgus) kus x, y, laius, kõrgus määravad rea asukoha ja mõõtmed. Tavakoordinaadistik EkrgrTavakoord.algjava Kordamiseks Küsimused Harjutused 1. Viisnurk Koostada programm, mis kuvab rõngasse viieharulise tähe: Näpunäide. Olgu ringi keskpunktiks koordinaatide alguspunkt. Siis ringil oleva punkti koordinaadid on x = r*cos alfa; y = r*sin alfa; kus r on ringi raadius ja alfa on lõigu tõusunurk alguspunktist selle punktini. 2. Täht Koostada eelmise programmi üldisem variant, milles tähe harude arv (5 ... 10) on programmis konstandina ette antav. Animatsioon EkrgrAnimats0.algjava EkrgrAnimats.algjava *Kordamiseks Küsimused Harjutused Kasutaja suhtlemine programmiga Sõne konsooldialoogist või dialoogiakna kaudu SuhtlemineKonsDial.algjava Sõned käsurea argumentidena SuhtlemineKasurida.algjava *Kordamiseks Küsimused Harjutused Tekstilised jadafailid Andmevahetus failidega Java-programmis Mõiste Tekstiline jadafail, lühemalt: tekstifail koosneb ridadest, igas reas sõne, mis lõpeb reavahetussümboliga Faili toimetamine Amadeus_AlgJava keskkonnas Uue fail loomine (eraldi aknas, mitte projekti all) Raam > Uus File > Uus kirjutada read (NB! tabulaatoriteta), salvestada: File > Kirjutada tekst soovitavalt kausta workspace laiendiks võiks olla .txt Olemasoleva muutmine/vaatamine (eraldi aknas, mitte projekti all) Raam > Uus File > Lugeda tekst muuta, kui vaja salvestada: File > Kirjutada tekst Failitöötlus Soovitatav alustamine 1. Teha uus tühi programm 2. Kirjutada programmi algusesse lisandi nimi I/O 3. Tuua sellesse failitöötlemise programmi näidis (Alt+io) 4. Kirjutanud lünkadesse failide (kust, kuhu) nimed, nt String kust = ".\\workspace\\a.txt"; sisendfaili nimi String kuhu = ".\\workspace\\b.txt"; väljundfaili nimi on valmis programm, mis kopeerib: .\workspace\a.txt ==> .\workspace\b.txt 4. Vajalk failitöötlusprogramm saadakse selle näidise muutmise teel. FailiKopeerimine.algjava FailiSorteerimine.algjava FailidKMI.algjava *Kordamiseks Küsimused Harjutused Näiteprogrammide sisukaart koos mõnede näpunäidetega algarvulisuse kontrollimine Hargnemine > meetod int tegur(int a) HargnIfElse.algjava animatsioon Ekraanigraafika > Animatsiooon > TA LIIGUB SIISKI! EkrgrAnimats0.algjava PÖÖRLEV RUUT EkrgrAnimats.algjava arvutada (sõnena antud) avaldis Sõnetüüp > Sõnetöötlus > Sõne analüüsimine > meetod int arvutada(String av) SoneAlamsKaupa0.algjava SoneAlamsKaupaSplit.algjava bitirühmad Meetod > MeetodAPI.algjava Collatzi teisendus (3n+1 või n/2) Tsükkel > TsykkelEri.algjava dialoogiaken import javax.swing.*; String s = JOptionPane.showInputDialog(null, "päring"); Sõnetüüp > Sõne sisestamine > SoneDialoogiaknast.algjava ebakorrektne arv konsoolilt Hargnemine > HargnKatsend.algjava ekraanigraafika, font Ekraanigraafika > Teksti joonistamine > EkrgrTekst.algjava ekraanigraafika, programm Ekraanigraafika > Keerukamad joonised > MAJA EkrgrKeeruk.algjava Ekraanigraafika > Tavakoordinaadistik > RUUT RINGIS EkrgrTavakoord.algjava Muutujad > VALGUSFOOR Muutuja.algjava fail vt Tekstilised jadafailid faktoriaal rekursiivselt: Meetod > meetod int fact(int n) MeetodRekPermut.algjava hulka kuulumine, sümbolid "kptgbd".indexOf(c) != -1 Algtüübid > Sümbolitüüp > SymbolYld.algjava Sümbolitüüp > SymbolUurimine.algjava juhujärjendi loomine Järjend/massiiv > Tulemusjärjendi loomise meetodeid > meetod int[] juhujärjend(int a, int b, int n) MassiivLoomine.algjava Järjend/massiiv > Sorteerimine > meetod double[] juhujärjend(double a, double b, int n) MassiivSortArvud.algjava juhutäisarv (meetodi shablooni makro: Alt+juhu) Järjend/massiiv > Tsükkel üle järjendi > meetod int juhuarv(int a, int b) MassiivIndKasut.algjava juhu-ujupunktarv (meetodi shablooni makro: Alt+juhu) Järjend/massiiv > Sorteerimine > meetod double juhuarv(double a, double b) MassiivSortArvud.algjava järjendi ... järjendi aritmeetilise keskmise leidmine Järjend/massiiv > Läbivaatamine ja teisendamine > meetod double aritmKeskmine(int[] a) MassiivLabivaatamine.algjava järjendi iga elemnedi jaoks temast pisemate arvu leidmine Järjend/massiiv > Tulemusjärjendi loomise meetodeid > meetod int[] pisemateArv(int[] a) MassiivLoomine2.algjava järjendi elementide muutmine negatiivseteks Järjend/massiiv > Läbivaatamine ja teisendamine > meetod void negatiivseks(int[] a) MassiivTeisendamine.algjava järjendi elementide järjekorra muutmine vastupidiseks Järjend/massiiv > Läbivaatamine ja teisendamine > meetod void invert(int[] a) MassiivTeisendamine.algjava järjendi elementide tõstmine kuupi Järjend/massiiv > Läbivaatamine ja teisendamine > meetod void tõstaKuupi(int[] a) MassiivTeisendamine.algjava järjendi kahanemiskoha indeksi leidmine Järjend/massiiv > Tsükkel üle järjendi > MassiivIndKasut.algjava järjendi kopeerimine (kloonimine) Järjend/massiiv > Lisavahendeid a.clone() MassiivSysCopy.algjava järjendi kordumatud elemendid Järjend/massiiv > Tulemusjärjendi loomise meetodeid > meetodid: MassiivLoomine2.algjava int[] korduvateta(int[] a) int[] unikaalsed(int[] a) järjendi minimaalse elemendi väärtuse leidmine Järjend/massiiv > Läbivaatamine ja teisendamine > meetod int min(int[] a) MassiivLabivaatamine.algjava Järjend/massiiv > Tsükkel üle järjendi > MassiivElemKasut.algjava järjendi minimaalse väärtusega elemendi indeksi leidmine Järjend/massiiv > Tsükkel üle järjendi > MassiivIndKasut.algjava järjendi positiivsete elementide arvu ja nende summa leidmine Järjend/massiiv > Läbivaatamine ja teisendamine > meetod double posAritmKeskmine(int[] a) MassiivLabivaatamine.algjava Järjend/massiiv > Tsükkel üle järjendi > MassiivElemKasut.algjava järjendi positiivsete elementide aritmeetilise keskmise leidmine Järjend/massiiv > Tsükkel üle järjendi > MassiivElemKasut.algjava järjendi positiivsete elementide kopeerimine Järjend/massiiv > Tulemusjärjendi loomise meetodeid > meetod int[] validaPositiivsed(int[] a) MassiivLoomine.algjava järjendi osa kopeerimine Järjend/massiiv > Tulemusjärjendi loomise meetodeid > meetod int[] osajärjend(int[] a, int k, int m) MassiivLoomine.algjava Järjend/massiiv > Lisavahendeid System.arraycopy(a, a_ind, b, b_ind, arv) MassiivSysCopy.algjava järjendi skalaarruudu leidmine Järjend/massiiv > Läbivaatamine ja teisendamine > meetod int skalaarruut(int a[]) MassiivLabivaatamine.algjava järjendi sorteerimine vt TEEMAD > Sorteerimine Järjend/massiiv > Lisavahendeid Arrays.sort(a) -- mittekahanevalt MassiivArrays.algjava järjendi summa leidmine Järjend/massiiv > Läbivaatamine ja teisendamine > meetod int summa(int[] a) MassiivLabivaatamine.algjava Järjend/massiiv > Tsükkel üle järjendi > MassiivElemKasut.algjava Meetod > meetod int summa(int[] a, int i, int j) Meetod.algjava Meetod > meetod int summa(int[] a, int i, int j) MeetodRek.algjava järjendi täitmine konstandiga Järjend/massiiv > Lisavahendeid Arrays.fill(a, täiteväärtus) MassiivArrays.algjava järjendi väljastamine Järjend/massiiv > Läbivaatamine ja teisendamine > meetod void väljastada(int[] a, String eraldaja) MassiivTeisendamine.algjava meetod: Järjend/massiiv > Läbivaatamine ja teisendamine > meetod void väljastada(int[] a) MassiivLabivaatamine.algjava Sõnetüüp > Sõnetöötlus > Sõnede võrdlemine SonedeVordlemine.algjava järjendi ühendamine teise järjendiga Järjend/massiiv > Tulemusjärjendi loomise meetodeid > meetod int[] ühendada(int[] a, int[] b) MassiivLoomine.algjava jäägi leidmine tehte märk % Avaldised > Binaarsed aritmeetikatehted AvaldisTehted.algjava katsendidirektiiv (try-catch) Hargnemine > HargnKatsend.algjava kolmnurk, kolmnurga aksioom Algtüübid > Loogiline tüüp > meetod boolean onKolmnurk(double a, double b, double c) LoogilineI.algjava klassimeetod Meetod > MeetodAPI.algjava klassiväli static tüüp väljaNimi Muutujad > Muutuja.algjava kombinatsioonid Tsükkel > TsykkelKombinats.algjava konsooldialoog print("päring"); String s = readln(); Sõnetüüp > Sõne sisestamine > SoneKonsoolilt.algjava Sõnetüüp > Sõnetöötlus > Sõnede võrdlemine SonedeVordlemine.algjava käsurida Kasutaja suhtlemine programmiga > Sõned käsurea argumentidena > SuhtlemineKasurida.algjava literaal ... literaal, char 'A', '3', '=', '\'' Sümbolitüüp > SymbolYld.algjava literaal, int 342, 0, -4; 0xf9 Algtüübid > Arvutüübid > Arvutyybid.algjava literaal, double -3.1, 57.0, 5e3, 654e-2 Algtüübid > Arvutüübid > Arvutyybid.algjava literaal, sõne "qwxy = " Sõnetüüp > Sõneliteraal > Soneliteraal.algjava loogikatehted Avaldised > AvaldisTehted.algjava lülitidirektiiv (switch-case-default) Hargnemine > HargnLyliti.algjava HargnKatsend.algjava nimed muutuja, meetod, programm Muutujad > Muutuja.algjava otsustustabel Muutujad > Muutuja.algjava permutatsioonid Meetod > MeetodRekPermut.algjava println, print Väljastamine konsoolile > KirjutamineKonsoolile.algjava Sõnetüüp > Sõneavaldis > Soneavaldis.algjava päevi kuus Hargnemine > HargnElseIf.algjava Hargnemine > HargnLyliti.algjava Hargnemine > HargnKatsend.algjava rekursioon Meetod > MeetodRek.algjava MeetodRekPermut.algjava Rooma numbrid I V X L C D M Sõnetöötlus > Sõne <--> arv]]> SoneRoomaNr.algjava ruutjuur Math.sqrt(x) Meetod > MeetodAPI.algjava ruutvõrrand taandamata, lahendamine: Avaldised > AvaldisUjupunkt.algjava sisestamine, sõne Kasutaja suhtlemine programmiga > Sõne konsooldialoogist või dialoogiakna kaudu > SuhtlemineKonsDial.algjava print("päring"); s = readln(); Sõnetüüp > Sõne sisestamine > SoneKonsoolilt.algjava SoneDialoogiaknast.algjava import javax.swing.*; String s = JOptionPane.showInputDialog(null, "Palun auto mark"); sisestamine, arv Kasutaja suhtlemine programmiga > Sõne konsooldialoogist või dialoogiakna kaudu > SuhtlemineKonsDial.algjava Sõnetüüp > Sõne sisestamine > SoneKonsoolilt.algjava SoneDialoogiaknast.algjava Hargnemine > HargnKatsend.algjava sorteerimine vt Järjend/massiiv > Sorteerimine Järjend/massiiv > Lisavahendeid Arrays.sort(a) -- mittekasvavalt MassiivArrays.algjava split s.split("eraldaja(d)") Sõnetüüp > Sõnetöötlus > Sõne analüüsimine > SoneAlamsKaupaSplit.algjava static, klassiväli static tüüp väljaNimi Muutujad > Muutuja.algjava tsüklidirektiivid üldtsüklidirektiiv: TsykkelYld.algjava eelkontrolliga tsükkel, järelkontrolliga tsükkel, kahekordne tsükkel: TsykkelEri.algjava sundteisendus (tüüp)avaldis Avaldised > AvaldisTehted.algjava suurim kolmest arvust Math.max(Math.max(a,b),c) Meetod > MeetodAPI.algjava sõnesidurdus (+) Sõnetüüp > Sõneavaldis > Soneavaldis.algjava sümboli kood, ASCII Algtüübid > Sümbolitüüp > SymbolASCIILihtne.algjava Algtüübid > Sümbolitüüp > Windows > SymbolASCII.algjava sümboli kood, UNICODE Algtüübid > Sümbolitüüp > SymbolUnicode.algjava teisendused ... teisendused arv --> sõne ("" + arv) Sõnetöötlus > Sõne <--> arv ]]> ArvSoneks.algjava teisendused sõne (arv sõne kujul) --> arv (Alt+s2i, Alt+s2d) Sõnetöötlus > Sõne <--> arv ]]> SoneArvuks.algjava char ]]> Algtüübid > Sümbolitüüp > SymbolYld.algjava ternaarne tehe loogilAv ? avaldis1 : avaldis2 Avaldised > AvaldisTehted.algjava tähesagedus sõnes Sõnetüüp > Sõnetöötlus > Sõne analüüsimine > meetod double sagedusAa(String s) SoneSymbKaupa.algjava viivitus (Alt+sleep) Sõnetüüp > Sõneliteraal > Soneliteraal.algjava võrdlemine, ujupunktarvud Avaldised > meetod boolean onV6rdsed(double a, double b) AvaldisUjupunkt.algjava võrdlemine, sõned Sõnetüüp > Sõnetöötlus > Sõnede võrdlemine SonedeVordumine.algjava s1.equals(s2) s1.equalsIgnoreCase(s2) SonedeVordlemine.algjava 0)]]> s1.compareToIgnoreCase(s2) võrdlustehted = > !=]]> Avaldised > AvaldisTehted.algjava võrdlemine, sümbolid c1 == c2 Algtüübid > Sümbolitüüp > SymbolYld.algjava vähim kolmest arvust Math.min(Math.min(a,b),c) Meetod > MeetodAPI.algjava ümardamine, double double -> double: Alt+ümar double -> int: (int)Math.round(x) Meetod > MeetodAPI.algjava ümardamine, d-süst arv (sõnena) Sõnetüüp > Sõnetöötlus > Sõne analüüsimine > meetod String ümardada(String s, int d) SoneSymbKaupaMass.algjava RUS AlgJavaProRUS Paths -Linux Kaust: ./pro/RUS 1. J.Kiho. Java programmeerimise aabits. TÜ Kirjastus, Tartu, 2002, 265 lk http://www.cs.ut.ee/~kiho/progr/Aabits2002/ 2. J. Kiho. Väike Java Leksikon. TÜ Kirjastus, Tartu, 2002, 39 lk 3. I.Meho, H.Uibo, J.Jaeger, J.Kiho, R.Palm, A.Peder, U.Puus, P.Salumaa, E.Tõnisson. Programmeerimise praktikumid. Algklassid. TÜ Kirjastus. Tartu 2003, 44 lk. http://dspace.utlib.ee/dspace/bitstream/handle/10062/17047/998556801X.pdf?sequence=1 http://java-study.ru 5. Fred Swartz. Java Programming Notes. http://www.leepoint.net/ 6. David J. Eck. Introduction to Programming Using Java, Seventh Edition http://math.hws.edu/javanotes/ P2NC.01.083 Programmeerimise algkursus Java baasil. StandardOutput.algjava 1. Privet, student! 2. print() PrimitiveTypes.algjava NumTypes.algjava LogicI.algjava Two Pairs, Three Of A Kind, Straight, Flush, Full House, Four Of A Kind, SymbolGeneral.algjava SymbolResearch.algjava SymbolASCIISimple.algjava Windows SymbolASCII.algjava SymbolCards.algjava SymbolUnicode.algjava SymbolAssGr.algjava Строка.)]]> ReferenceTypes.algjava Variable.algjava ExpressionSimple.algjava ExpressionOperations.algjava ExpressionAssign.algjava ExprFloatingPoint.algjava Assignment.algjava Method.algjava MethodRecursion.algjava MethodRecPermut.algjava MethodAPI.algjava CondIfElse.algjava CondElseIf.algjava CondSwitch.algjava CondTry.algjava char, float? Число]]> LoopGeneral.algjava LoopVarious.algjava LoopCombs.algjava 2. 100 .. 1 ArrayDefinition.algjava ArrayType.algjava ArrayElemsUse.algjava ArrayIndexUse.algjava ArrayLookThrough.algjava ArrayIndexLoopThrough.algjava ArrayOperations.algjava ArrayCreation.algjava ArrayCreation2.algjava ArraySortNumbers.algjava ArrayShuffleNumbers.algjava ArrayFiveCards.algjava ArraySortStrings.algjava ArraysSort.algjava ArraySysCopy.algjava ArraysClass.algjava String[] strs = new String[6]? StringAsArrayAndInstance.algjava StringVariable.algjava StringFromCommandLine.algjava StringFromDialogPane.algjava StringLiteral.algjava StringExpr.algjava Учебник -> Класс String: аннотации методов]]> Число]]> NumberToString.algjava StringToNumber.algjava StringRomanNum.algjava StringEqual.algjava =< вторая строка]]> StringEqual2.algjava StringBySymbols.algjava StringAsSymbolsArray.algjava StringBySubstrings.algjava StringBySubstringsSplit.algjava String s;? 3. String s = "xxx"; String t = s; t = "yyy"; day: 2, month: september, year: 2004 day: 12, month: june, year: 1987 ... Анализ строки,]]> Учебник -> Класс Graphics: аннотации методов ]]> DisplGr0.algjava g.fillOval(...); g.setColor(Color.yellow); g.setColor(Color.blue); DisplGrText.algjava g.setFont(new Font("Monospaced", Font.PLAIN, 38)); 1) g.drawString( "\u203b", x, y); DisplGrCenter.algjava DisplGrScale.algjava DisplGrRandomPlace.algjava DisplGrColors.algjava new Color(31, 69, 169) DisplGrPolygon.algjava DisplGrComplex.algjava DisplGrOffset.algjava DisplGrSubMethod.algjava void joonistadaRida(Graphics g, String kood, String aine, String hinne, int x, int y, int laius, int kõrgus) DisplGrCoordSpace.algjava x = r*cos alfa; y = r*sin alfa; DisplGrAnimation0.algjava DisplGrAnimation.algjava InputFromDialog.algjava InputFromCommandLine.algjava Новый]]> Новый]]> Записать текст ]]> Новый]]> Читать текст]]> Записать текст]]> .\workspace\a.txt ==> .\workspace\b.txt FileCopy.algjava FileSort.algjava FileBMI.algjava Анимация >]]> DisplGrAnimation0.algjava DisplGrAnimation.algjava ]]> MethodAPI.algjava ]]> CondTry.algjava Строка из консоли или диалогового окна > ]]> InputFromDialog.algjava print("zapros"); s = readln(); Ввод строки > ]]> StringFromCommandLine.algjava StringFromDialogPane.algjava import javax.swing.*; String s = JOptionPane.showInputDialog(null, "Palun auto mark"); Строка из консоли или диалогового окна > ]]> InputFromDialog.algjava Ввод строки > ]]> StringFromCommandLine.algjava StringFromDialogPane.algjava ]]> CondTry.algjava Обработка строк > Анализ строки > ]]> StringBySubstrings.algjava StringBySubstringsSplit.algjava print("zapros"); String s = readln(); Ввод строки > ]]> StringFromCommandLine.algjava Обработка строк > Сравнивание строк ]]> StringEqual.algjava import javax.swing.*; String s = JOptionPane.showInputDialog(null, "päring"); Ввод строки > ]]> StringFromDialogPane.algjava s.split("razdelitel(i)") Обработка строк > Анализ строки > ]]> StringBySubstringsSplit.algjava ]]> CondElseIf.algjava CondSwitch.algjava CondTry.algjava (Alt+sleep) Строковые литералы > ]]> StringLiteral.algjava Math.sqrt(x) ]]> MethodAPI.algjava ]]> ExprFloatingPoint.algjava ]]> MethodAPI.algjava static tip nazvaniePeremennoj ]]> Variable.algjava Аргументы командной строки > ]]> InputFromCommandLine.algjava ]]> LoopCombs.algjava 'A', '3', '=', '\'' Символы >]]> SymbolGeneral.algjava 342, 0, -4; 0xf9 Числовые значения > ]]> NumTypes.algjava -3.1, 57.0, 5e3, 654e-2 Числовые значения > ]]> NumTypes.algjava "qwxy = " Строковые литералы > ]]> StringLiteral.algjava ]]> ExpressionOperations.algjava Math.max(Math.max(a,b),c) ]]> MethodAPI.algjava Math.min(Math.min(a,b),c) ]]> MethodAPI.algjava ]]> Variable.algjava ]]> ExpressionOperations.algjava ]]> CondTry.algjava double -> double: Alt+okrugl double -> int: (int)Math.round(x) ]]> MethodAPI.algjava Обработка строк > Анализ строки >]]> StringAsSymbolsArray.algjava ]]> CondSwitch.algjava CondTry.algjava ]]> MethodRecPermut.algjava Просмотр и преобразование > ]]> ArrayLookThrough.algjava Создание последовательности результатов >]]> ArrayCreation2.algjava Просмотр и преобразование > ]]> ArrayOperations.algjava Просмотр и преобразование > ]]> ArrayOperations.algjava Просмотр и преобразование > ]]> ArrayOperations.algjava Цикл через массив > ]]> ArrayIndexUse.algjava Дополнительные средства]]> a.clone() ArraySysCopy.algjava Создание последовательности результатов >]]> ArrayCreation2.algjava int[] withoutRepeat(int[] a) int[] unique(int[] a) Просмотр и преобразование > ]]> ArrayLookThrough.algjava Цикл через массив > ]]> ArrayElemsUse.algjava Цикл через массив > ]]> ArrayIndexUse.algjava Просмотр и преобразование > ]]> ArrayLookThrough.algjava Цикл через массив > ]]> ArrayElemsUse.algjava Цикл через массив > ]]> ArrayElemsUse.algjava Создание последовательности результатов >]]> ArrayCreation.algjava Создание последовательности результатов >]]> ArrayCreation.algjava Дополнительные средства]]> System.arraycopy(a, a_ind, b, b_ind, number) ArraySysCopy.algjava Просмотр и преобразование > ]]> ArrayLookThrough.algjava Сортировка]]> Дополнительные средства]]> ArraysClass.algjava Просмотр и преобразование > ]]> ArrayLookThrough.algjava Цикл через массив > ]]> ArrayElemsUse.algjava ]]> Method.algjava MethodRecursion.algjava Дополнительные средства]]> ArraysClass.algjava Просмотр и преобразование > ]]> ArrayOperations.algjava ArrayLookThrough.algjava Создание последовательности результатов >]]> ArrayCreation.algjava строка ]]> Обработка строк > Строка <--> Число ]]> NumberToString.algjava число ]]> (Alt+s2i, Alt+s2d) Обработка строк > Строка <--> Число ]]> StringToNumber.algjava char ]]> Символы > ]]> SymbolGeneral.algjava ]]> LoopVarious.algjava "kptgbd".indexOf(c) != -1 Символы > ]]> SymbolGeneral.algjava SymbolResearch.algjava ]]> ExpressionOperations.algjava ]]> CondIfElse.algjava ]]> MethodRecursion.algjava MethodRecPermut.algjava I V X L C D M Обработка строк > Строка <--> Число]]> StringRomanNum.algjava Строковые выражения >]]> StringExpr.algjava Символы > ]]> SymbolASCIISimple.algjava Символы > Windows > ]]> SymbolASCII.algjava Символы > ]]> SymbolUnicode.algjava Создание последовательности результатов >]]> ArrayCreation.algjava Сортировка > ]]> ArraySortNumbers.algjava Цикл через массив > ]]> ArrayIndexUse.algjava Сортировка > ]]> ArraySortNumbers.algjava Сортировка]]> Дополнительные средства]]> ArraysClass.algjava ]]> ExprFloatingPoint.algjava Обработка строк > Сравнивание строк ]]> StringEqual.algjava s1.equals(s2) s1.equalsIgnoreCase(s2) StringEqual2.algjava 0)]]> s1.compareToIgnoreCase(s2) = > !=]]> ]]> ExpressionOperations.algjava c1 == c2 Символы > ]]> SymbolGeneral.algjava ]]> Variable.algjava Логические значения >]]> LogicI.algjava loogilAv ? avaldis1 : avaldis2 ]]> ExpressionOperations.algjava ]]> MethodRecPermut.algjava LoopGeneral.algjava LoopVarious.algjava Обработка строк > Анализ строки > ]]> StringBySymbols.algjava Рисование текста >]]> DisplGrText.algjava Сложные изображения >]]> DisplGrComplex.algjava Координатная плоскость >]]> DisplGrCoordSpace.algjava ]]> Variable.algjava println, print ]]> StandardOutput.algjava Строковые выражения >]]> StringExpr.algjava static tip imjaPeremennoj ]]> Variable.algjava