Mikä tässä kusee kun tulostaa viikon kuluttua: 2.3.2013, kahden viikon: 10.3.2013 ja kolmen viikon: 18.3.2013 eli kahdeksan päivää on nyt viikossa.
public class Paivays {
............................
public void etene() {
this.paiva ;
if (this.paiva > 30) {
this.paiva = 0;
this.kuukausi ;
if (this.kuukausi > 12) {
this.kuukausi = 1;
this.vuosi ;
}
}
}
public void etene(int montakoPaivaa) {
while (montakoPaivaa > -1) {
this.etene();
montakoPaivaa--;
}
}
public Paivays paivienPaasta(int paivia) {
Paivays uusiPaivays = new Paivays(paiva, kuukausi, vuosi);
uusiPaivays.etene(paivia);
return uusiPaivays;
}
}
public class Paivays {
............................
public void etene() {
this.paiva ;
if (this.paiva > 30) {
this.paiva = 0;
this.kuukausi ;
if (this.kuukausi > 12) {
this.kuukausi = 1;
this.vuosi ;
}
}
}
public void etene(int montakoPaivaa) {
while (montakoPaivaa > -1) {
this.etene();
montakoPaivaa--;
}
}
public Paivays paivienPaasta(int paivia) {
Paivays uusiPaivays = new Paivays(paiva, kuukausi, vuosi);
uusiPaivays.etene(paivia);
return uusiPaivays;
}
}
Vastaukset 3
Vanhimmat
While ehto käy 1 kierroksen liikaa.
Ennustan häikkää myös kuukausien vaihtuessa..
Jos laittaa whilen sisään 0 näyttää tulostus oikein mutta testissä pitäisi olla 1.1.2013 mutta onkin 0.1.213.
Tuosta ei näy miten alustat vuoden joten siitä en voi sanoa. Päiväyksen 0 arvo tulee siitä että asetat sen itse nollaksi kuukauden vaihtuessa..