home *** CD-ROM | disk | FTP | other *** search
/ Borland JBuilder 6 / jbuilder6.iso / Documents / JAVA Programming / examples / 08 / AskMe.java < prev    next >
Encoding:
Java Source  |  2000-09-08  |  1.0 KB  |  56 lines

  1. import java.util.Random;
  2. interface SharedConstants { 
  3. int NO = 0;
  4. int YES = 1;
  5. int MAYBE = 2;
  6. int LATER = 3;
  7. int SOON = 4;
  8. int NEVER = 5; 
  9. }
  10.  
  11. class Question implements SharedConstants { 
  12. Random rand = new Random();
  13. int ask() {
  14. int prob = (int) (100 * rand.nextDouble());
  15. if (prob < 30)
  16.     return NO; // 30% 
  17. else if (prob < 60)
  18.          return YES; // 30% 
  19. else if (prob < 75)
  20.          return LATER; // 15% 
  21. else if (prob < 98)
  22.          return SOON; // 13% 
  23. else return NEVER; // 2% 
  24. } }
  25.  
  26. class AskMe implements SharedConstants { 
  27. static void answer(int result) { 
  28. switch(result) { 
  29. case NO:
  30.     System.out.println("No");
  31.     break;
  32. case YES:
  33.     System.out.println("Yes");
  34.     break;
  35. case MAYBE:
  36.     System.out.println("Maybe");
  37.     break;
  38. case LATER:
  39.     System.out.println("Later");
  40.     break;
  41. case SOON:
  42.     System.out.println("Soon");
  43.     break;
  44. case NEVER:
  45.     System.out.println("Never");
  46.     break;
  47. } }
  48.  
  49. public static void main(String args[]) {    
  50. Question q = new Question();
  51. answer(q.ask());
  52. answer(q.ask());
  53. answer(q.ask());
  54. answer(q.ask());
  55. } }
  56.