Stworzylem taki prowizoryczny kalendarz który kazdy miesiac ma 31 dni z metodą przesuwania go o tydzien,chcialbym aby kazdy miesiac mial odpowiednią ilosc dni. Pod drugie, ktos zna lepszy sposob na odczytywanie daty czy ten wystarczy?
package kalendarz;
public class data {
private int dzien,miesiac,rok;
public int getDzien() {
return dzien;
}
public void setDzien(int dzien) {
if(dzien<31){
this.dzien = dzien;
}
if(dzien>=31){
this.dzien=0;
}
}
public int getMiesiac() {
return miesiac;
}
public void setMiesiac(int miesiac) {
if(miesiac<=12){
this.miesiac = miesiac;
}
if(miesiac>12){
this.miesiac=0;
}
}
public int getRok() {
return rok;
}
public void setRok(int rok) {
this.rok = rok;
}
public data(int dzien, int miesiac, int rok){
this.setDzien(dzien);
this.setMiesiac(miesiac);
this.setRok(rok);
}
public void Up(){
dzien=dzien+7;
if(dzien>31){ miesiac++;
dzien=dzien-31;
}
if(miesiac>12){
miesiac=miesiac-12;
rok++;
}
}
public void Down(){
dzien=dzien-7;
if(dzien<1){
miesiac--;
dzien=dzien+31;
}
if(miesiac<1){
miesiac=miesiac+12;
rok--;
}
}
public void Pokaz(){
System.out.println("Dzien "+dzien+" Miesiac "+miesiac+" Rok "+rok);
}
}
Klasa główna.
package kalendarz;
public class Kalendarz {
public static void main(String[] args) {
data kalendarz = new data(28,12,2015);
kalendarz.Pokaz();
kalendarz.Up();
kalendarz.Pokaz();
kalendarz.Down();
kalendarz.Pokaz();
}
}
Wynik:
Dzien 28 Miesiac 12 Rok 2015
Dzien 4 Miesiac 1 Rok 2016
Dzien 28 Miesiac 12 Rok 2015