Arvutiteaduse instituut
  1. Kursused
  2. 2024/25 sügis
  3. Objektorienteeritud programmeerimine (IT mitteinformaatikutele) (LTAT.SO.003)
EN
Logi sisse

Objektorienteeritud programmeerimine (IT mitteinformaatikutele) 2024/25 sügis

  • Kodutööd ja praktikumid
  • Loengud
  • Kursuse korraldus
  • IDE juhendid
  • Silumisest

7. praktikum. Harjutused

NB! Praktikumiülesandeid antakse alati varuga, et ka kõige kiirematel/kogenumatel lahendajatel jätkuks tegevust. Seega pole mõtet kurvastada, kui te ei jõua kõiki lahendada. Vaadake ülesanded rahulikult üle ja lahendage ära just need, mis tunduvad teile huvitavad ja/või parajalt jõukohased/väljakutsuvad (kui just teie praktikumijuhendaja pole teile soovitanud mingit konkreetset ülesannet).

1. Tulpdiagramm

Koostage tekstifail, kus on antud nt. 10 täisarvu (iga arv eraldi real). Kirjutage programm, mis loeb failist neid arve ja joonistab neile arvudele vastava tulpdiagrammi. Tulbad võiksid olla visuaalselt võimalikult lihtsad. 50-st suurematele väärtustele vastavad tulbad joonistatakse punase värviga, teised tulbad on sinist värvi. Tulba alla on kirjutatud vastav arv.

Tulemuse näide:

2. Kalkulaatori aken

Kirjutada programm, mis loob kalkulaatori akna (kalkulaator ei pea töötama). Kasutada vähemalt kahte erinevat paigaldushaldurit (klassi Region (või selle mingi alamklassi) isendit). Nuppude vahele jätta tühja ruumi. Arvutamise tulemus peab olema valgel taustal ja kindlasti üleval paremal. Nuppude tekstid peavad olema kas punast või sinist värvi. Aken peab olema fikseeritud suurusega (st. ei saa suurendada või vähendada).

Tulemuse näide:

3. Värvid

Kirjutada programm, mis esitab huvitavalt kõik klassi Color võimalikud värvid. Näiteks:

või või või ...

Järgmine meetod tagastab kõigi võimalike värvide listi:

 import java.lang.reflect.Field;
 import java.util.ArrayList;
 import javafx.scene.paint.Color;
 ...
	static ArrayList<Color> koikVarvid() throws Exception {
	    ArrayList<Color> varvid = new ArrayList<Color>();
	    Class<?> klass = Class.forName("javafx.scene.paint.Color");
	    if (klass != null) {
	        Field[] field = klass.getFields();
	        for (int i = 0; i < field.length; i++) {
	            Field f = field[i];                
	            Object obj = f.get(null);
	            if(obj instanceof Color){
	            	varvid.add((Color) obj);
	            }

	        }
	    }
	    return varvid;
	}

Teise näite jaoks on kasutatud efekti: https://openjfx.io/javadoc/11/javafx.graphics/javafx/scene/paint/RadialGradient.html

  • Arvutiteaduse instituut
  • Loodus- ja täppisteaduste valdkond
  • Tartu Ülikool
Tehniliste probleemide või küsimuste korral kirjuta:

Kursuse sisu ja korralduslike küsimustega pöörduge kursuse korraldajate poole.
Õppematerjalide varalised autoriõigused kuuluvad Tartu Ülikoolile. Õppematerjalide kasutamine on lubatud autoriõiguse seaduses ettenähtud teose vaba kasutamise eesmärkidel ja tingimustel. Õppematerjalide kasutamisel on kasutaja kohustatud viitama õppematerjalide autorile.
Õppematerjalide kasutamine muudel eesmärkidel on lubatud ainult Tartu Ülikooli eelneval kirjalikul nõusolekul.
Courses’i keskkonna kasutustingimused