@ -10,10 +10,11 @@ Tässä tehtävässä harjoitellaan olioiden luomista ja niiden metodien kutsumi
Huom! Koska kilometrit on yksityinen muuttuja, sen arvoa ei voida muuttaa luokan ulkopuolelta. Sinun on siis muutettava arvoa julkisen aja-metodin kautta.
**Auto.java**
```
/**
* Tallenna tämä luokka itsellesi Auto.java-nimiseen tiedostoon.
*/
// Tallenna tämä luokka itsellesi Auto.java-nimiseen tiedostoon.
public class Auto {
/*
@ -55,8 +56,6 @@ public class Auto {
}
```
Älä palauta Auto-luokkaa Viopeen, se löytyy Viopesta valmiina.
```
Example output:
Tesla, 123 km.
@ -65,9 +64,10 @@ BMW, 98 km.
------------------
**AutoOhjelma.java**
```
/*
1. Luo uusi "Tesla"-merkkinen auto ja laita viittaus tähän olioon talteen muuttujaan
2. Luo toinen "BMW"-merkkinen auto ja laita viittaus tähän olioon talteen eri muuttujaan
3. Kutsu Teslan aja-metodia arvolla 100.
@ -75,7 +75,6 @@ BMW, 98 km.
5. Kutsu Teslan aja-metodia arvolla 23.
6. Tulosta Teslan merkkijonoesitys (toString) omalle rivilleen
7. Tulosta BMW:n merkkijonoesitys (toString) omalle rivilleen
@ -49,15 +49,15 @@ VahenevaLaskuri-luokan konstruktorille annetaan parametrina alkuarvo. Esimerkin
--------------------
Osa 1: Metodin vahene() toteutus
**Osa 1: Metodin vahene() toteutus**
Täydennä luokan runkoon metodin vahene() toteutus sellaiseksi, että se vähentää arvo -oliomuuttujaa yhdellä. Kun olet toteuttanut metodin vahene(), edellisen esimerkin pääohjelman tulee toimia esimerkkitulosteen mukaan.
Osa 2: Laskurin arvo ei saa olla negatiivinen
**Osa 2: Laskurin arvo ei saa olla negatiivinen**
Täydennä metodin vahene() toteutus sellaiseksi, ettei laskurin arvo mene koskaan negatiiviseksi. Eli jos laskurin arvo on jo 0, ei vähennys sitä enää vähennä. Ehtolause auttaa tässä.
Osa 3: Laskurin arvon nollaus
**Osa 3: Laskurin arvon nollaus**
Tee laskurille metodi public void nollaa() joka nollaa laskurin arvon, esim:
@ -85,7 +85,7 @@ arvo: 0
arvo: 0
```
Huom! Hyödynnä tehtäväkuvauksessa annettuja Paaohjelma-esimerkkiluokkia ohjelmasi testaamisessa. VahenevaLaskuri-luokkasi ei saa sisältää main-metodia. Älä palauta Paaohjelma-luokkaa Viopeen.
Huom! Hyödynnä tehtäväkuvauksessa annettuja Paaohjelma-esimerkkiluokkia ohjelmasi testaamisessa. VahenevaLaskuri-luokkasi ei saa sisältää main-metodia.
```
Example output:
@ -109,6 +109,8 @@ arvo: 8
------------------
**VahenevaLaskuri.java**
```
public class VahenevaLaskuri {
private int arvo; // oliomuuttuja joka muistaa laskurin arvon
Getterien ja setterien automaattiseen generointiin voit käyttää myös Eclipsen koodigeneraattoria: [Generaattori](https://www.youtube.com/results?search_query=eclipse+generate+getters+and+setters)
**toString-metodi**
@ -68,9 +67,9 @@ Never Gonna Give You Up by Rick Astley
Tässä harjoituksessa hyödynnetään edellisessä harjoituksessa kirjoittamiasi Artist- ja Song-luokkia. Tehtäväsi on hyödyntää edellä mainittuja luokkia ja kirjoittaa uusi Playlist-niminen luokka. Kirjoita Playlist-luokka omaan tiedostoonsa. Artist- ja Song-luokkia sinun ei tarvitse palauttaa, ne löytyvät Viopesta valmiina.
Tässä harjoituksessa hyödynnetään edellisessä harjoituksessa kirjoittamiasi Artist- ja Song-luokkia. Tehtäväsi on hyödyntää edellä mainittuja luokkia ja kirjoittaa uusi Playlist-niminen luokka. Kirjoita Playlist-luokka omaan tiedostoonsa. Artist- ja Song-luokat löytyvät valmiina.
Playlist-luokassa tulee olla seuraavat instanssimuuttujat, konstruktorit ja metodit:
Tee luokka Remontti, jolla on attribuutit vuosi (int), kuvaus (String). Tee luokkaan parametriton konstruktori, joka asettaa vuodeksi nykyisen vuoden. Nykyisen vuoden saat käyttämällä LocalDate luokkaa. Tee lisäksi set- ja get-metodit ja toString-metodi. setVuosi metodin tarkastaa, ettei remontin vuosi ole nykyistä vuotta suurempi. Metodi palauttaa true, jos vuosi pystyttiin asettamaan eli sen on nykyinen tai sitä aiempi vuosi muuten metodi palauttaa false eikä aseta vuodeksi annettua vuotta. Tee ohjelmaluokka RemonttiOhjelma, jossa tehdään yksi olio.
Kun palautat ratkaisun Viopeen, muista laittaa alkuun kaikki import komennot.
Jos ohjelman suoritus onnistuu, sen täytyy toimia seuraavasti:
```
@ -25,9 +23,9 @@ Vuosi ei voi olla tulevaisuudessa
@ -4,7 +4,7 @@ Eclipsessä on kätevä näppäinyhdistelmä Ctrl + ⇧ + F (Mac: ⌘ + ⇧ + F)
Alla on esitetty luokka LukujenSumma, jonka muotoilut eivät noudata hyviä käytäntöjä. Muotoilun puutteen vuoksi myös koodissa oleva selvä syntaksivirhe voi olla vaikea havaita.
Tässä tehtävässä sinun tulee kopioida alla esitetty luokka itsellesi, muotoilla se Eclipsen muotoilusääntöjen mukaisesti, korjata syntaksivirhe ja palauttaa korjattu ja muotoiltu versio Viopeen.
Tässä tehtävässä sinun tulee kopioida alla esitetty luokka itsellesi, muotoilla se Eclipsen muotoilusääntöjen mukaisesti, korjata syntaksivirhe ja palauttaa korjattu ja muotoiltu versio.
Sinun ei tarvitse muuttaa ohjelman toiminnallisuutta lainkaan.
Alla on esitetty luokka MerkkijonojenVertailu, jonka tarkoitus on pyytää käyttäjältä kaksi merkkijonoa ja kertoa, ovatko annetut merkkijonot samat. Ohjelma ei kuitenkaan tällä hetkellä toimi halutulla tavalla.
Tallenna alla esitetty virheellisesti toimiva ohjelma itsellesi tiedostoon MerkkijonojenVertailu.java. Tutki ohjelmaa ja palauta korjattu versio ohjelmasta Viopeen:
Tallenna alla esitetty virheellisesti toimiva ohjelma itsellesi tiedostoon MerkkijonojenVertailu.java. Tutki ohjelmaa ja palauta korjattu versio ohjelmasta:
Kirjoita luokka Laskuoperaatiot ja siihen kaksi julkista staattista metodia: summa ja erotus. Määrittele metodit siten, että ne saavat parametriarvoinaan 2 double-tyyppistä liukulukua ja että ne palauttavat tuloksena double-tyyppisen liukuluvun. Summa-metodin täytyy palauttaa annettujen lukujen summa ja erotus vastaavasti palauttaa erotuksen (ensimmäinen luku - toinen luku). Huomaa, että et saa tulostaa näissä metodeissa mitään, vaan tulos on palautettava pois metodista.
Voit testata kirjoittamaasi luokkaa alla olevan testiluokan avulla tai kirjoittaa vapaavalintaisen oman testiluokan. Käyttäessäsi valmista testiluokkaa, tallenna se itsellesi tiedostoon LaskuoperaatiotTest.java. Testiluokkaa ei tarvitse palauttaa, vaan koodisi tarkastetaan Viopessa valmiiksi olevalla tarkastimella.
Voit testata kirjoittamaasi luokkaa alla olevan testiluokan avulla tai kirjoittaa vapaavalintaisen oman testiluokan. Käyttäessäsi valmista testiluokkaa, tallenna se itsellesi tiedostoon LaskuoperaatiotTest.java. Testiluokkaa ei tarvitse palauttaa.
@ -7,7 +7,7 @@ Ohjelmasi tehtävä on tarkastaa, kuinka monta numeroa käyttäjän riviltä osu
Tulosta lopputulos muodossa "N oikein ja lisänumero." tai "N oikein." riippuen siitä, osuiko lisänumero käyttäjän riviin.
✂ Sinun ei tarvitse erikseen palauttaa Leikkaus-luokkaa, se löytyy Viopesta valmiina. Huomaa että tässä tehtävässä Leikkaus-luokalle ei ole määritetty pakettia, eli se on tavallaan samassa paketissa toteuttamasi Lotto-luokan kanssa. Poista siis mahdollinen import-komento, mikäli olet omassa kehitysympäristössäsi sijoittanut nämä kaksi luokkaa eri paketteihin. ✂
✂ Sinun ei tarvitse erikseen palauttaa Leikkaus-luokkaa, se on valmiina. Huomaa että tässä tehtävässä Leikkaus-luokalle ei ole määritetty pakettia, eli se on tavallaan samassa paketissa toteuttamasi Lotto-luokan kanssa. Poista siis mahdollinen import-komento, mikäli olet omassa kehitysympäristössäsi sijoittanut nämä kaksi luokkaa eri paketteihin. ✂