From 6077740f77dd6f5a76c1ed5c98383ff9da3dc9d3 Mon Sep 17 00:00:00 2001 From: Pekka Helenius Date: Thu, 27 Feb 2020 17:52:08 +0200 Subject: [PATCH] Clean-up --- 10_classes-and-objects/1_AutoOhjelma.md | 13 +- 10_classes-and-objects/2_Agentti.md | 2 + 10_classes-and-objects/3_VahenevaLaskuri.md | 10 +- 10_classes-and-objects/4_Artist.md | 4 +- 10_classes-and-objects/5_Artist_Song.md | 11 +- 10_classes-and-objects/6_Playlist.md | 4 +- 10_classes-and-objects/7_KirjaOhjelma.md | 160 +------------------- 10_classes-and-objects/8_AsuntoOhjelma.md | 8 +- 10_classes-and-objects/9_RemonttiOhjelma.md | 10 +- 1_basics/9_LukujenSumma.md | 2 +- 4_strings/1_MerkkijonojenVertailu.md | 2 +- 7_methods/4_Laskuoperaatiot.md | 2 +- 8_lottery_bonus/2_Lotto.md | 2 +- README.md | 2 + 14 files changed, 43 insertions(+), 189 deletions(-) diff --git a/10_classes-and-objects/1_AutoOhjelma.md b/10_classes-and-objects/1_AutoOhjelma.md index 9252e12..581474b 100644 --- a/10_classes-and-objects/1_AutoOhjelma.md +++ b/10_classes-and-objects/1_AutoOhjelma.md @@ -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 - */ public class AutoOhjelma { diff --git a/10_classes-and-objects/2_Agentti.md b/10_classes-and-objects/2_Agentti.md index 6d297b8..8416fb9 100644 --- a/10_classes-and-objects/2_Agentti.md +++ b/10_classes-and-objects/2_Agentti.md @@ -50,6 +50,8 @@ My name is English, Johnny English ------------------ +**Agentti.java** + ``` public class Agentti { diff --git a/10_classes-and-objects/3_VahenevaLaskuri.md b/10_classes-and-objects/3_VahenevaLaskuri.md index 52b6afe..a2eeaf2 100644 --- a/10_classes-and-objects/3_VahenevaLaskuri.md +++ b/10_classes-and-objects/3_VahenevaLaskuri.md @@ -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 diff --git a/10_classes-and-objects/4_Artist.md b/10_classes-and-objects/4_Artist.md index 8766000..3675172 100644 --- a/10_classes-and-objects/4_Artist.md +++ b/10_classes-and-objects/4_Artist.md @@ -34,7 +34,7 @@ public class Artist { } ``` -HUOM! Ratkaisusi ei saa kysyä käyttäjältä syötteitä eikä tulostaa mitään. Koodin testaa erillinen tarkastin. +HUOM! Ratkaisusi ei saa kysyä käyttäjältä syötteitä eikä tulostaa mitään. ``` Example output: @@ -61,6 +61,8 @@ Rick Astley ------------------ +**Artist.java** + ``` public class Artist { diff --git a/10_classes-and-objects/5_Artist_Song.md b/10_classes-and-objects/5_Artist_Song.md index 11e3213..ab796b3 100644 --- a/10_classes-and-objects/5_Artist_Song.md +++ b/10_classes-and-objects/5_Artist_Song.md @@ -23,8 +23,7 @@ Luokka Song - setLength - toString -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 +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 ------------------ -``` -// Artist.java +**Artist.java** +``` public class Artist { private String name; @@ -106,9 +105,9 @@ public class Artist { ------------------ -``` -// Song.java +**Song.java** +``` public class Song { private String title; diff --git a/10_classes-and-objects/6_Playlist.md b/10_classes-and-objects/6_Playlist.md index a505ac2..ea71da1 100644 --- a/10_classes-and-objects/6_Playlist.md +++ b/10_classes-and-objects/6_Playlist.md @@ -1,4 +1,4 @@ -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: @@ -70,6 +70,8 @@ System.out.println(playlist.getTotalLength()); ------------------ +**Playlist.java** + ``` import java.util.ArrayList; diff --git a/10_classes-and-objects/7_KirjaOhjelma.md b/10_classes-and-objects/7_KirjaOhjelma.md index 1dd720c..0237213 100644 --- a/10_classes-and-objects/7_KirjaOhjelma.md +++ b/10_classes-and-objects/7_KirjaOhjelma.md @@ -19,9 +19,9 @@ Julkaisuvuosi: 2020 ------------------ -``` -// Kirja.java +**Kirja.java** +``` public class Kirja { private String nimi, isbn; @@ -82,32 +82,13 @@ public class Kirja { "]"; } } -/* - @Override - public String toString() { - - ArrayList kirjaData = new ArrayList(Arrays.asList( - "nimi=" + this.getName(), - "isbn=" + this.getISBN(), - "hinta=" + this.getPrice(), - "julkaisuvuosi=" + this.getYear() - )); - ArrayList kirjaData = new ArrayList(Arrays.asList( - this.getName(), - this.getISBN(), - this.getPrice(), - this.getYear() - )); - return kirjaData.toString(); - } -*/ ``` ------------------ -``` -// KirjaOhjelma.java +**KirjaOhjelma.java** +``` import java.text.DecimalFormat; import java.util.InputMismatchException; import java.util.Scanner; @@ -184,137 +165,4 @@ public class KirjaOhjelma { } } - -//System.out.println(kirja); - -//ArrayList kirjaDataArray = new ArrayList(); - -//kirjaDataArray.add(kirja.getNimi()); -//kirjaDataArray.add("nimi=" + kirja.getNimi()); - -//kirjaDataArray.add(kirja.getIsbn()); -//kirjaDataArray.add("isbn=" + kirja.getIsbn()); - -//kirjaDataArray.add(kirja.getHinta()); -//kirjaDataArray.add("hinta=" + kirja.getHinta()); - -//kirjaDataArray.add(kirja.getJulkaisuvuosi()); -//kirjaDataArray.add("vuosi=" + kirja.getJulkaisuvuosi()); - -//System.out.println("Kirja: " + kirjaDataArray.toString()); - -//this.kirjaData = kirjaDataArray; -/* - System.out.printf("Kirja: " + - "nimi=" + kirjaDataArray.get(0).toString(), - "isbn=" + kirjaDataArray.get(1).toString(), - "hinta=" + kirjaDataArray.get(2).toString(), - "vuosi=" + kirjaDataArray.get(3).toString() - ); -*/ - - -// Parametriton - Kirja - /*Kirja javaKirja = new Kirja(); - javaKirja.setNimi("97 Things Every Java Programmer Should Know"); - javaKirja.setIsbn("ei tietoa"); - javaKirja.setHinta(26.80); - javaKirja.setJulkaisuvuosi(2020); - - // Parametrillinen -Kirja - javaKirja = new Kirja( - "97 Things Every Java Programmer Should Know", - "ei tietoa", - 26.80, - 2020 - );*/ - -// Parametrillinen - KirjaOhjelma -//this.javaKirja = new Kirja(); - -/* - // Parametrillinen konstruktori - public KirjaOhjelma(String nimi, String isbn, double hinta, int julkaisuvuosi) { - - DecimalFormat r2 = new DecimalFormat(".00"); - - this.kirjaData = String.format( - "Nimi: %s\nIsbn: %s\nHinta: %s\nJulkaisuvuosi: %s\n", - nimi, - isbn, - r2.format(hinta), - julkaisuvuosi - ); - }*/ -/* - // Parametriton konstruktori - public KirjaOhjelma() { - - Scanner syote = new Scanner(System.in); - ArrayList kirjaDataArray = new ArrayList(); - - Kirja kirjaInput = new Kirja(); - - System.out.print("Anna nimi: "); - kirjaInput.setNimi(syote.nextLine()); - kirjaDataArray.add("nimi=" + kirjaInput.getNimi()); - - System.out.print("Anna isbn: "); - kirjaInput.setIsbn(syote.nextLine()); - kirjaDataArray.add("isbn=" + kirjaInput.getIsbn()); - - System.out.print("Anna hinta: "); - kirjaInput.setHinta(syote.nextDouble()); - kirjaDataArray.add("hinta=" + kirjaInput.getHinta()); - - System.out.print("Anna julkaisuvuosi: "); - kirjaInput.setJulkaisuvuosi(syote.nextInt()); - kirjaDataArray.add("julkaisuvuosi=" + kirjaInput.getJulkaisuvuosi()); - - this.kirjaData = kirjaDataArray; - - } -*/ -/* - @Override - public String toString() { - //if (this.kirjaData instanceof String) { - return this.kirjaData.toString(); - //} else { - // return null; - //} - }*/ - - -//private String kirjaDataStr; -//private ArrayList kirjaData = new ArrayList(); - - - /* - @Override - public String toString() { - - DecimalFormat r2 = new DecimalFormat(".00"); - - String t = String.format( - "Nimi: %s\nIsbn: %s\nHinta: %s\nJulkaisuvuosi: %s\n", - this.kirjaInput.getName(), - this.kirjaInput.getISBN(), - r2.format(this.kirjaInput.getPrice()), - this.kirjaInput.getYear() - ); - - return String.format("%s\n\n%s", this.kirjaInput.toString(), t); - - //return this.kirjaInput.toString(); - }*/ - -//this.kirjaInput = kirjaUserInput; - - /*this.kirjaData = new ArrayList(Arrays.asList( - "nimi=" + this.kirjaInput.getName(), - "isbn=" + this.kirjaInput.getISBN(), - "hinta=" + this.kirjaInput.getPrice(), - "julkaisuvuosi=" + this.kirjaInput.getYear() - ));*/ ``` diff --git a/10_classes-and-objects/8_AsuntoOhjelma.md b/10_classes-and-objects/8_AsuntoOhjelma.md index da2a0a1..3729570 100644 --- a/10_classes-and-objects/8_AsuntoOhjelma.md +++ b/10_classes-and-objects/8_AsuntoOhjelma.md @@ -17,9 +17,9 @@ Kuvaus: valon keskustassa katutasossa 72 m2:n liikehuoneisto ------------------ -``` -// Asunto.java +**Asunto.java** +``` import java.text.DecimalFormat; import java.util.InputMismatchException; import java.util.Scanner; @@ -133,9 +133,9 @@ public class Asunto { ------------------ -``` -// AsuntoOhjelma.java +**AsuntoOhjelma.java** +``` public class Song { private String title; diff --git a/10_classes-and-objects/9_RemonttiOhjelma.md b/10_classes-and-objects/9_RemonttiOhjelma.md index 045931e..626a827 100644 --- a/10_classes-and-objects/9_RemonttiOhjelma.md +++ b/10_classes-and-objects/9_RemonttiOhjelma.md @@ -1,7 +1,5 @@ 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 ------------------ -``` -// Remontti.java +**Remontti.java** +``` import java.time.LocalDate; import java.util.InputMismatchException; import java.util.Scanner; @@ -97,9 +95,9 @@ public class Remontti { ------------------ -``` -// RemonttiOhjelma.java +**RemonttiOhjelma.java** +``` public class RemonttiOhjelma { public static void main() { diff --git a/1_basics/9_LukujenSumma.md b/1_basics/9_LukujenSumma.md index e2f4612..20bfb5d 100644 --- a/1_basics/9_LukujenSumma.md +++ b/1_basics/9_LukujenSumma.md @@ -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. diff --git a/4_strings/1_MerkkijonojenVertailu.md b/4_strings/1_MerkkijonojenVertailu.md index 79d0eb2..b386533 100644 --- a/4_strings/1_MerkkijonojenVertailu.md +++ b/4_strings/1_MerkkijonojenVertailu.md @@ -1,6 +1,6 @@ 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: ``` import java.util.Scanner; diff --git a/7_methods/4_Laskuoperaatiot.md b/7_methods/4_Laskuoperaatiot.md index 3e404b8..f0e3be3 100644 --- a/7_methods/4_Laskuoperaatiot.md +++ b/7_methods/4_Laskuoperaatiot.md @@ -1,6 +1,6 @@ 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. ``` public class LaskuoperaatiotTest { diff --git a/8_lottery_bonus/2_Lotto.md b/8_lottery_bonus/2_Lotto.md index 17222ee..25cc924 100644 --- a/8_lottery_bonus/2_Lotto.md +++ b/8_lottery_bonus/2_Lotto.md @@ -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. ✂ ``` Example output: diff --git a/README.md b/README.md index 6ddbc7f..02ec788 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,8 @@ Contents of this repository are based on [Java programming course material](http **NOTE**: Assignments and their descriptions are in Finnish for meanwhile. I have a plan to translate them to English. +**NOTE**: Code indentation in markdown (`.md`) files is incorrectly rendered in Gitea. Click `Raw` to see the correct indentation. + ## Contents - [Basics](src/branch/master/1_basics)