public int getDayOfWeek(){
	int[] doomsDays;
	doomsDays = new int[13];	
	doomsDays[0] = 0;
	if (this.isLeapYear() == false) {
	    doomsDays[1] = 3;
	    doomsDays[2] = 28;
	}
	else {
	    doomsDays[1] = 4;
	    doomsDays[2] = 29;
	}
	doomsDays[3] = 0;
	doomsDays[4] = 4;
	doomsDays[5] = 9;
	doomsDays[6] = 6;
	doomsDays[7] = 11;
	doomsDays[8] = 8;
	doomsDays[9] = 5;
	doomsDays[10] = 10;
	doomsDays[11] = 7;
	doomsDays[12] = 12;
	int a = this.year;
	int n = String.valueOf(a).length();
	int lastTwo = Integer.parseInt((""+a).substring(n-2,n));
	int multOfLastDigits = lastTwo/12;
	int remOfLastDigits = lastTwo%12;
	int numFours = remOfLastDigits/4;
	int sumRems = multOfLastDigits + remOfLastDigits + numFours;
	int remSumRems = sumRems%7;
	int firstTwo = Integer.parseInt((""+a).substring(n-n,n-n+2));
	int anchorDay = 10;
	if (firstTwo%4==0)
	    anchorDay = 2;
	else if (firstTwo%4==1)
	    anchorDay = 0;
	else if (firstTwo%4==2)
	    anchorDay = 5;
	else if (firstTwo%4==3)
	    anchorDay = 3;
	else
	    System.out.println("Failure, anchorDay could not be computed.");
	int doomsday = (remSumRems+anchorDay)%7;
	int diff = this.day - doomsDays[this.month];
	int dayWeek = (remSumRems+anchorDay+diff)%7;
	if (dayWeek<0)
	    dayWeek+=7;
	if (dayWeek>6)
	    dayWeek-=7;
	return dayWeek;	
    }