d2jsp
Log InRegister
d2jsp Forums > Off-Topic > International > Svenska > Java Programmering
Prev12
Add Reply New Topic New Poll
Member
Posts: 5,913
Joined: May 6 2009
Gold: 0.00
Feb 1 2015 01:25pm
Jag återkommer med hela koden... jag tror jag har lagt if satsen fel... därför allt missförstånd kan även bifoga uppgiften så ni förstår bättre vad jag försöker åstadkomma...
Member
Posts: 5,913
Joined: May 6 2009
Gold: 0.00
Feb 1 2015 01:39pm


Som bilden antyder... Jag ska använda en "class" fil och en main fil... Problemet jag har just nu är att jag inte vet var jag ska lägga if satserna som gör så att man går från tex januari 31 till 1feb om man väljer att gå "nextDate".

Här är koden för både main och classen..

main
Code
public class DateMain {


public static void main (String[] args)
{
Date d1 = new Date(2011, 01, 31);
Date d2 = new Date(2011, 03, 01);

System.out.println("Date objects d1 and d2 constructed");
System.out.println("Method setDate called indirectly");
System.out.println();

System.out.println("Using default date format");

System.out.println("d1.toString() = " + d1); // fixa
System.out.println("d2.toString() = " + d2); // fixa
System.out.println();


System.out.println("d1.getYear() = " + d1.getYear());
System.out.println("d1.getMonth() = " + d1.getMonth());
System.out.println("d1.getDay() = " + d1.getDay());
System.out.println();


//System.out.println("d1.compareTo(d2) = " + d1.compareTo(d2)); // fixa
//System.out.println("d2.compareTo(d1) = " + d2.compareTo(d1)); // fixa
//System.out.println("d1.compareTo(d1) = " + d1.compareTo(d1)); // fixa




}

}


class
Code
//implements comparable

public class Date

{
private int theYear;
private int theMonth;
private int theDay;

public Date()
{
this(0, 0, 0);
}

public Date(int y, int m, int d)
{
setDate(y, m, d);
}

public void setDate(int y, int m, int d)
{
theYear = y;
theMonth = m;
theDay = d;
}

public int getYear()
{
return theYear;
}

public int getMonth()
{
return theMonth;
}

public int getDay()
{
return theDay;
}

public String toString()
{

return (theYear + "-" + theMonth + "-" + theDay);
}



}


Mitt försök till classen

Code
public class Date implements Comparable<Date>
{
private int Day;
private int Month;
private int Year;



public void setDate( int theYear, int theMonth, int theDay)
{
Year = ( theYear >= 0000 && theYear <= 9999) ? theYear : 0;
Month =( theMonth >=1 && theMonth <= 12) ? theMonth : 0;
Day = ( theDay >=1 && theDay <= 31) ? theDay : 0;

if ((Month == 1 || Month == 3 || Month == 5 || Month == 7 || Month == 8 || Month == 10 || Month 12) && Day >32)
{
Day - 31 = Day;
Month + 1 = Month;
}
else if (Month == 4 || Month == 6 || Month == 9 || Month == 11) && Day >31)
{
Day - 30 = Day;
Month + 1 = Month;
}
else if (Month == 2 && Day > 29)
{
Day - 28 = Day;
Month + 1 = Month;
}
if (Month > 12)
{
Year + 1 = Year;
}
}

int getYear()
{
return Year;
}

int getMonth()
{
return Month;
}

int getDay()
{
return Day;
}

Date NextDate()
{
Date nxt = new Date();

nxt.Day = Day + 1;
return nxt;
}

Date prevDate()
{
Date prv = new Date();

prv.Day = Day - 1;
return prv;
}

public int compareTo(Date theDate)
{
if (Date() < theDate())
{
return -1;
} else if (Date() > theDate())
{
return +1;
} else (Date() == theDate())
{
return 0;
}
}
String toString()
{
// Svenska
return "("+ Year + "-" + Month + "-" + Day + ")";
// US
return "("+ Month + "/" + Day + "/" + Year + ")";
}}


Som ni ser vet jag inte var jag ska lägga if satsen :S

This post was edited by bomben on Feb 1 2015 01:41pm
Member
Posts: 6,742
Joined: Oct 31 2010
Gold: 7,480.00
Feb 1 2015 01:55pm
Quote (Dreamfuel @ 1 Feb 2015 19:59)
ska man börja bry sig om allt sånt så hamnar man i en dödsspiral som slutar med självmord i ett sunkigt hotelrum.
https://www.youtube.com/watch?v=-5wpm-gesOY


Antagligen, ja. Men rätt skall vara rätt!
Member
Posts: 5,913
Joined: May 6 2009
Gold: 0.00
Feb 2 2015 05:07am
Får ta och posta denna i java forumet...
Member
Posts: 36,992
Joined: Jan 6 2007
Gold: 7,821.00
Feb 2 2015 05:48am
När du ökar på dagen, då måste du ju testa om det datumet bryter månadsskifte igen.
Därför bör du ha din if-sats i en egen metod som du ropar på i både setDate() och i nextDate()
Go Back To Svenska Topic List
Prev12
Add Reply New Topic New Poll