Java program to find day of the week by giving any date

Hello Guys,
I am back with a new logic of vedic maths. Find the day by any date. This is a java program creating by vedic maths logic :-

public class FindTheDay {

    public static int getMonthCode(String month){
        int monthCode = 0;
        if(month.equals("january") || month.equals("october"))
            monthCode =  0;
        else if(month.equals("february") || month.equals("march") || month.equals("november"))
            monthCode =  3;
        else if(month.equals("april") || month.equals("july"))
            monthCode =  6;
        else if(month.equals("may"))
            monthCode =  1;
        else if(month.equals("june"))
            monthCode =  4;
        else if(month.equals("august"))
            monthCode =  2;
        else if(month.equals("september") || month.equals("december"))
            monthCode =  5;
           
        return monthCode;
    }
   
   
    public static void main(String[] args) {
       
        System.out.println("Enter date (date format must be like 10 january 1990)");
        Scanner sc = new Scanner(System.in);
        String stringDate = sc.nextLine();
        String dateSlpit []= stringDate.split(" ");
       
        int date = Integer.parseInt(dateSlpit[0]);
        String month = dateSlpit[1];
        int year = Integer.parseInt(new String(dateSlpit[2]).substring(dateSlpit[2].length()-2));
        int fullYear = Integer.parseInt(dateSlpit[2]);
       
        int monthCode = getMonthCode(month);
        int qutient = year/4;
       
        int total =  monthCode+date+year+qutient;
       
        int dayCode = total%7;
       
        //below condition is for years equals or greater then 2000
        if(fullYear>=2000){
            if(dayCode==0)
                dayCode = 6;
            else if(dayCode==1)
                dayCode = 0;
            else if(dayCode==2)
                dayCode = 1;
            else if(dayCode==3)
                dayCode = 2;
            else if(dayCode==4)
                dayCode = 3;
            else if(dayCode==5)
                dayCode = 4;
            else if(dayCode==6)
                dayCode = 5;
        }
       
        //below condition is for leap year
        if((fullYear % 400 == 0) || ((fullYear % 4 == 0) && (fullYear % 100 != 0))){
            if(dayCode==0)
                dayCode = 6;
            else if(dayCode==1)
                dayCode = 0;
            else if(dayCode==2)
                dayCode = 1;
            else if(dayCode==3)
                dayCode = 2;
            else if(dayCode==4)
                dayCode = 3;
            else if(dayCode==5)
                dayCode = 4;
            else if(dayCode==6)
                dayCode = 5;
        }
       
           
        System.out.println("your day code is: "+dayCode);
        System.out.println("match your day code with below table");
        System.out.println("Sunday 0"+"\r\n"+"Monday 1"+"\r\n"+"Tuesday 2"+"\r\n"+"Wednesday 3"+"\r\n"+"Thursday 4"+"\r\n"+"Friday 5"+"\r\n"+"Saturday 6");
       
       
    }

}

Comments