home *** CD-ROM | disk | FTP | other *** search
/ PC World 2001 March / PCWorld_2001-03_cd.bin / Software / Komercni / VAgeJava / ivj35 / setup / JSP.Cab / F27172_LookupSign.java < prev    next >
Text File  |  2000-08-10  |  4KB  |  117 lines

  1. package com.ibm.ivj.wte.samples.signs;
  2.  
  3. // Licensed Material - Property of IBM 
  4. // (C) Copyright IBM Corp. 2000 - All Rights Reserved 
  5. // 
  6. // DISCLAIMER: 
  7. // The following [enclosed] code is sample code created by IBM 
  8. // Corporation.  This sample code is not part of any standard IBM product 
  9. // and is provided to you solely for the purpose of assisting you in the 
  10. // development of your applications.  The code is provided 'AS IS', 
  11. // without warranty or condition of any kind.  IBM shall not be liable for any damages 
  12. // arising out of your use of the sample code, even if IBM has been 
  13. // advised of the possibility of such damages.
  14.  
  15. import javax.servlet.http.*;
  16. import java.util.*;
  17. /**
  18.  * Insert the type's description here.
  19.  * Creation date: (05/24/2000 11:52:36 AM)
  20.  * @author: Administrator
  21.  */
  22. public class LookupSign extends HttpServlet {
  23. private static final String copyright = 
  24.     "(c) Copyright IBM Corporation 2000.";
  25.  
  26. /**
  27.  * Insert the method's description here.
  28.  * Creation date: (05/24/2000 11:53:39 AM)
  29.  * @param request javax.servlet.http.HttpServletRequest
  30.  * @param response javax.servlet.http.HttpServletResponse
  31.  * @exception javax.servlet.ServletException The exception description.
  32.  * @exception java.io.IOException The exception description.
  33.  */
  34. public void doGet(HttpServletRequest request, HttpServletResponse response) throws javax.servlet.ServletException, java.io.IOException {
  35.  
  36.     boolean validInput = true;
  37.     int     dd = 1;
  38.     int     mm = 1;
  39.     String[] month = {"January", "February", "March", "April", "May", "June",
  40.                     "July", "August", "September", "October", "November", "December"};
  41.  
  42.     
  43.     // Get the input parameters
  44.     try {
  45.         dd = Integer.parseInt(request.getParameter("dd"));
  46.         mm = Integer.parseInt(request.getParameter("mm"));
  47.     } catch (java.lang.NumberFormatException ex) {
  48.         validInput = false;
  49.     }    
  50.  
  51.     // Perform date validation
  52.     if (validInput) {
  53.         if ((mm >= 1) && (mm <= 12)) {
  54.             if (mm == 2) {
  55.                 if ((dd < 1) || (dd > 29)) {
  56.                     validInput = false;
  57.                 }
  58.             } else if ((mm == 1) || (mm == 3) || (mm == 5) || (mm == 7) || 
  59.                       (mm == 8) || (mm == 10) || (mm == 12)) { 
  60.                 if ((dd < 1) || (dd > 31)) {
  61.                     validInput = false;
  62.                 }
  63.             } else {
  64.                 if ((dd < 1) || (dd > 30)) {
  65.                     validInput = false;
  66.                 }
  67.             }
  68.         } else {
  69.             validInput = false;
  70.         }
  71.     }
  72.  
  73.     // Display result
  74.     response.setContentType("text/html");
  75.     java.io.PrintWriter out =response.getWriter();
  76.     out.println("<HTML>");
  77.     out.println("<HEAD><TITLE>Signs of the Zodiac</TITLE></HEAD>");
  78.     out.println("<BODY BGCOLOR=#C0C0C0>");
  79.     out.println("<H1>Signs of the Zodiac</H1><P><P>");
  80.  
  81. //    Uncomment the following 3 lines to find out the sign for today.    
  82. //    Calendar cal=Calendar.getInstance();
  83. //    cal.setTime(new Date());
  84. //    out.println("<H2>The sign for today is " + getSign(cal.get(Calendar.MONTH)+1, cal.get(Calendar.DAY_OF_MONTH)) + "</H2><P>");
  85.  
  86.     if (validInput) {
  87.         out.println("<H2>The sign for " + month[mm - 1] + " " + dd + " is " + getSign(mm, dd) + "</H2><P>");
  88.     } else {
  89.         out.println("<H2>Invalid Input Date</H2><P>");
  90.     }
  91.     out.println("<A HREF=\"/JSP/index.html\">Back to the Samples Index Page</A>");
  92.     out.println("</BODY></HTML>");
  93.     
  94. }
  95. /**
  96.  * Insert the method's description here.
  97.  * Creation date: (05/24/2000 12:17:13 PM)
  98.  * @return java.lang.String
  99.  * @param mmdd int
  100.  */
  101. public String getSign(int mm, int dd) {
  102.     String[] sign = {"Capricorn", "Aquarius", "Pisces", "Aries", "Taurus", "Gemini",
  103.                     "Cancer", "Leo", "Virgo", "Libra", "Scorpio", "Sagittarius",
  104.                     "Capricorn"};
  105.     int[] signdate = {119, 218, 320, 419, 520, 621, 722, 822, 922, 1023,
  106.                     1121, 1221, 1231};
  107.  
  108.     
  109.     int mmdd = mm * 100 + dd;
  110.     int i = 0;
  111.     while ((i <= 12) && (mmdd > signdate[i])) {
  112.         i++;
  113.     }
  114.     return sign[i];
  115. }
  116. }
  117.