-
Notifications
You must be signed in to change notification settings - Fork 1
laskari 1
mluukkai edited this page Oct 11, 2012
·
23 revisions
Tarkoitus on että osallistut johonkin viikon laskaritilaisuuksista ke 9.30-12, ke 14-17, to 9.30-12 tai to 14-17
Tehtävät tehdään paikanpäällä viikon 1 laskareissa. Tehtävien tekemisestä saa yhden kurssipisteen. Muista, että laskarit eivät ole paja, paikalle tulee saapua laskareiden aloitusaikana.
- tutustu JUnit-ohjeeseen
- lukiessasi tee testit myös itse
- lisää lopuksi lyyrakortille seuraavat testit:
- maukkaan lounaan syöminen ei vie saldoa negatiiviseksi, ota tähän mallia testistä syoEdullisestiEiVieSaldoaNegatiiviseksi
- negatiivisen summan lataaminen ei muuta kortin saldoa
Ohjelmoinnin perusteiden tehtävässä 78 (ks. tehtävänanto) ohjelmoitiin luokka YlhaaltaRajoitettuLaskuri:
public class YlhaaltaRajoitettuLaskuri {
private int arvo;
private int ylaraja;
public YlhaaltaRajoitettuLaskuri(int ylarajanAlkuarvo) {
this.ylaraja = ylarajanAlkuarvo;
this.arvo = 0;
}
public void seuraava() {
if (this.arvo == this.ylaraja) {
this.arvo = 0;
} else {
this.arvo++;
}
}
public int arvo() {
return this.arvo;
}
public void asetaArvo(int uusiArvo) {
if (uusiArvo < 0 || uusiArvo > this.ylaraja) {
return;
}
this.arvo = uusiArvo;
}
@Override
public String toString() {
String etunolla = "0";
if (this.arvo > 9) {
etunolla = "";
}
return etunolla + this.arvo;
}
}
Tee laskurille seuraavat testit:
- luodun laskurin alkuarvo on 0
- kun laskuri etenee kerran, sen arvo on 1
- kun laskuri etenee kaksi kertaa, sen arvo on 2
- jos laskurin yläraja on n ja laskuri etenee n-1 kertaa, on laskurin arvo n-1
- korvaa testeissä n jollain konkreettisella arvolla, esim. 4
- jos laskurin yläraja on n ja laskuri etenee n kertaa, on laskurin arvo 0
- jos laskurin yläraja on n ja laskuri etenee n+1 kertaa, on laskurin arvo 1
- metodi asetaArvo asettaa arvon oikein jos parametrin arvo on välillä 0 – laskurin yläraja
- metodi asetaArvo ei tee mitään jos parametrin arvo ei ole välillä 0 – laskurin yläraja
- toString tuottaa etunollan jos laskurin arvo on alle 10
- toString ei tuota etunollaa jos laskurin arvo on vähintään 10
- tutustu debuggeriohjeeseen
- lukiessasi ohjetta, kokeile kaikkia esimerkkejä koneellasi
debuggaa 1
Tee mahdollisimman kattavat testit Ohjelmoinnin perusteiden tehtävän 79 luokalle Lukutilasto
Lukutilaston koodi:
public class Lukutilasto {
// alla muutaman metodin runko valmiina
private int lukujenMaara;
private int summa;
public Lukutilasto() {
this.lukujenMaara = 0;
this.summa = 0;
}
public void lisaaLuku(int luku) {
this.lukujenMaara++;
this.summa += luku;
}
public int haeLukujenMaara() {
return this.lukujenMaara;
}
public int summa() {
return this.summa;
}
public double keskiarvo() {
if (this.lukujenMaara == 0) {
return 0;
}
return 1.0 * this.summa / this.lukujenMaara;
}
}
testejä 3
debuggaa 2