print total number of dates between 2 given dates.
Sigiloso
solved the given question in java w/o using predefined methods
Sigiloso
import java.util.Date; import java.util.Scanner; public class TestDate { static int sday; static int smonth; static int syear; static int day; static int month; static int year; public static void recursion() { if(smonth==1|smonth==3|smonth==5|smonth==7|smonth==8|smonth==10|smonth==12) { while(sday<=31) { System.out.println(sday+"/"+smonth+"/"+syear); sday+=1; } sday=1; smonth=smonth+1; } else if(smonth==4|smonth==6|smonth==9|smonth==11) { while(sday<=30) { System.out.println(sday+"/"+smonth+"/"+syear); sday+=1; } sday=1; smonth=smonth+1; } else if(smonth<=2) { if(syear%4==0 & (syear%400==0 | syear%100!=0)) { while(sday<=29) { System.out.println(sday+"/"+smonth+"/"+syear); sday+=1; } sday=1; smonth=smonth+1; } else { while(sday<=28) { System.out.println(sday+"/"+smonth+"/"+syear); sday+=1; } sday=1; smonth=smonth+1; } } } public static void main(String[] args) { Scanner sc=new Scanner(System.in); System.out.println("Enter the starting day : "); sday=sc.nextInt(); System.out.println("Enter starting Month: "); smonth=sc.nextInt(); System.out.println("Enter starting year"); syear=sc.nextInt(); System.out.println("Enter the ending day : "); day=sc.nextInt(); System.out.println("Enter ending Month: "); month=sc.nextInt(); System.out.println("Enter ending year"); year=sc.nextInt(); while(syear<=year) { if(smonth<=12) { if(syear==year) { while(smonth<=month) { if(smonth==month) { if(smonth==1|smonth==3|smonth==5|smonth==7|smonth==8|smonth==10|smonth==12) { while(sday<=31) { if(sday==day) { System.out.println(sday+"/"+smonth+"/"+syear); return; } System.out.println(sday+"/"+smonth+"/"+syear); sday+=1; } sday=1; smonth=smonth+1; } else if(smonth==4|smonth==6|smonth==9|smonth==11) { while(sday<=30) { if(sday==day) { System.out.println(sday+"/"+smonth+"/"+syear); return; } System.out.println(sday+"/"+smonth+"/"+syear); sday+=1; } sday=1; smonth=smonth+1; } else if(smonth<=2) { if(syear%4==0 & (syear%400==0 | syear%100!=0)) { while(sday<=29) { if(sday==day) { System.out.println(sday+"/"+smonth+"/"+syear); return; } System.out.println(sday+"/"+smonth+"/"+syear); sday+=1; } sday=1; smonth=smonth+1; } else { while(sday<=28) { if(sday==day) { System.out.println(sday+"/"+smonth+"/"+syear); return; } System.out.println(sday+"/"+smonth+"/"+syear); sday+=1; } sday=1; smonth=smonth+1; } } } else { recursion(); } } } else { recursion(); } } else { smonth=1; syear+=1; } } } } //Please let me know if we can reduce the code. //If the code is shorter and less complex than this , Please forward it to my mail, I would like to //learn How to simplify the code