code_junkie

Identifying the season from the Date using Java

Nov 11th, 2011
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.92 KB | None | 0 0
  1. import java.util.*
  2.  
  3. public String getSeason(Date today, int year){
  4.  
  5. // the months are one less because GC is 0-based for the months, but not days.
  6. // i.e. 0 = January.
  7. String returnMe = "";
  8.  
  9. GregorianCalender dateToday = new GregorianCalender(year, today.get(Calender.MONTH_OF_YEAR), today.get(Calender.DAY_OF_MONTH);
  10. GregorianCalender springstart = new GregorianCalender(year, 2, 1);
  11. GregorianCalender springend = new GregorianCalender(year, 3, 30);
  12. GregorianCalender summerstart = new GregorianCalender(year, 4, 1);
  13. GregorianCalender summerend = new GregorianCalender(year, 7, 31);
  14. GregorianCalender fallstart = new GregorianCalender(year, 8, 1);
  15. GregorianCalender fallend = new GregorianCalender(year, 9, 31);
  16. GregorianCalender winterstart = new GregorianCalender(year, 10, 1);
  17. GregorianCalender winterend = new GregorianCalender(year, 1, 28);
  18.  
  19. if ((dateToday.after(springstart) && dateToday.before(springend)) || dateToday.equals(springstart) || dateToday.equals(springend)){
  20. returnMe = "Spring";
  21.  
  22. else if ((dateToday.after(summerstart) && dateToday.before(summerend)) || dateToday.equals(summerstart) || dateToday.equals(summerend)){
  23. returnMe = "Summer";
  24.  
  25. else if ((dateToday.after(fallstart) && dateToday.before(fallend)) || dateToday.equals(fallstart) || dateToday.equals(fallend)){
  26. returnMe = "Fall";
  27.  
  28. else if ((dateToday.after(winterstart) && dateToday.before(winterend)) || dateToday.equals(winterstart) || dateToday.equals(winterend)){
  29. returnMe = "Winter";
  30.  
  31. else {
  32. returnMe = "Invalid";
  33. }
  34. return returnMe;
  35. }
  36.  
  37. import java.util.*
  38.  
  39. public String getSeason(Date today, int year){
  40.  
  41. // the months are one less because GC is 0-based for the months, but not days.
  42. // i.e. 0 = January.
  43. String returnMe = "";
  44.  
  45. GregorianCalender dateToday = new GregorianCalender(year, today.get(Calender.MONTH_OF_YEAR), today.get(Calender.DAY_OF_MONTH);
  46. GregorianCalender springstart = new GregorianCalender(year, 2, 1);
  47. GregorianCalender springend = new GregorianCalender(year, 3, 30);
  48. GregorianCalender summerstart = new GregorianCalender(year, 4, 1);
  49. GregorianCalender summerend = new GregorianCalender(year, 7, 31);
  50. GregorianCalender fallstart = new GregorianCalender(year, 8, 1);
  51. GregorianCalender fallend = new GregorianCalender(year, 9, 31);
  52. GregorianCalender winterstart = new GregorianCalender(year, 10, 1);
  53. GregorianCalender winterend = new GregorianCalender(year, 1, 28);
  54.  
  55. if ((dateToday.after(springstart) && dateToday.before(springend)) || dateToday.equals(springstart) || dateToday.equals(springend)){
  56. returnMe = "Spring";
  57.  
  58. else if ((dateToday.after(summerstart) && dateToday.before(summerend)) || dateToday.equals(summerstart) || dateToday.equals(summerend)){
  59. returnMe = "Summer";
  60.  
  61. else if ((dateToday.after(fallstart) && dateToday.before(fallend)) || dateToday.equals(fallstart) || dateToday.equals(fallend)){
  62. returnMe = "Fall";
  63.  
  64. else if ((dateToday.after(winterstart) && dateToday.before(winterend)) || dateToday.equals(winterstart) || dateToday.equals(winterend)){
  65. returnMe = "Winter";
  66.  
  67. else {
  68. returnMe = "Invalid";
  69. }
  70. return returnMe;
  71. }
  72.  
  73. String getSeason(int month) {
  74. switch(month) {
  75. case 11:
  76. case 12:
  77. case 1:
  78. case 2:
  79. return "winter";
  80. case 3:
  81. case 4:
  82. return "spring";
  83. case 5:
  84. case 6:
  85. case 7:
  86. case 8:
  87. return "summer";
  88. default:
  89. return "autumn";
  90. }
  91. }
  92.  
  93. public static Enum Season {
  94. WINTER(Arrays.asList(11,12,1,2)),
  95. SPRING(Arrays.asList(3,4)),
  96. SUMMER(Arrays.asList(5,6,7,8)),
  97. AUTUMN(Arrays.asList(9,10));
  98.  
  99. Season(List<Integer> months) {
  100. this.monthlist = months;
  101. }
  102. private List<Integer> monthlist;
  103. public boolean inSeason(int month) {
  104. return this.monthlist.contains(month); // if months are 0 based, then insert +1 before the )
  105. }
  106.  
  107. public static Season seasonForMonth(int month) {
  108. for(Season s: Season.values()) {
  109. if (s.inSeason(month))
  110. return s;
  111. }
  112. throw new IllegalArgumentException("Unknown month");
  113. }
  114. }
  115.  
  116. import java.util.Scanner;
  117.  
  118. public class lab6project1
  119. {
  120. public static void main(String[] args)
  121. {
  122. Scanner keyboard = new Scanner(System.in);
  123.  
  124. System.out.println("This program reports the season for a given day and month");
  125. System.out.println("Please enter the month and day as integers with a space between the month and day");
  126.  
  127. int month = keyboard.nextInt();
  128. int day = keyboard.nextInt();
  129.  
  130.  
  131. if ( (month == 1) || (month == 2))
  132. System.out.println("The season is Winter");
  133.  
  134. else if ( (month == 4) || (month == 5))
  135. System.out.println("The season is Spring");
  136.  
  137. else if ( (month == 7) || (month == 8))
  138. System.out.println("The season is Summer");
  139.  
  140. else if ( (month == 10)|| (month == 11))
  141. System.out.println("The season is Fall");
  142.  
  143. else if ( (month == 3) && (day <= 19 ))
  144. System.out.println("The season is Winter");
  145.  
  146. else if ( (month == 3) && (day >= 20 ))
  147. System.out.println("The season is Spring");
  148.  
  149. else if ( (month == 6) && (day <= 20 ))
  150. System.out.println("The season is Spring");
  151.  
  152. else if ( (month == 6) && (day >= 21 ))
  153. System.out.println("The season is Summer");
  154.  
  155. else if ( (month == 9) && (day <= 20 ))
  156. System.out.println("The season is Summer");
  157.  
  158. else if ( (month == 9) && (day >= 21 ))
  159. System.out.println("The season is Autumn");
  160.  
  161. else if ( (month == 12) && (day <= 21 ))
  162. System.out.println("The season is Autumn");
  163.  
  164. else if ( (month == 12) && (day >= 22 ))
  165. System.out.println("The season is Winter");
  166.  
  167.  
  168. }
  169.  
  170. }
  171.  
  172. switch (date.getMonth()) {
  173. case Calendar.JANUARY:
  174. case Calendar.FEBRUARY:
  175. return "winter";
  176. case Calendar.MARCH:
  177. return "spring";
  178. //etc
  179. }
  180.  
  181. default:
  182. throw new IllegalArgumentException();
Add Comment
Please, Sign In to add comment