Guest

Parsing java main args[] array errors

By: a guest on Jan 28th, 2012  |  syntax: None  |  size: 2.44 KB  |  hits: 22  |  expires: Never
download  |  raw  |  embed  |  report abuse
Copied
  1. Exception in thread "main" java.lang.NumberFormatException: For input string: "foo"
  2.  
  3. at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
  4.  
  5. at java.lang.Integer.parseInt(Integer.java:447)
  6.  
  7. at java.lang.Integer.parseInt(Integer.java:497)
  8.  
  9. at NumberGuess.main(NumberGuess.java:10)
  10.        
  11. public class NumberGuess {
  12.  
  13. public static void main(String args[]){
  14.  
  15.         int r;
  16.         int g;
  17.  
  18.         if ((args[0].compareTo("help")) == 0){
  19.                 System.out.println("Enter a number between 1-5 to play.");
  20.         } else if (Integer.parseInt(args[0]) > 0 && Integer.parseInt(args[0]) <= 5){
  21.  
  22.                 r = ((int)(Math.random()));
  23.                 g = Integer.parseInt(args[0]);
  24.  
  25.                 if (r == g){
  26.                         System.out.println("YOU WON!");
  27.                 } else {
  28.                         System.out.println("Wrong: number was " + r);
  29.                 }
  30.  
  31.         } else {
  32.                 System.out.println("Something went horribly wrong.");
  33.  
  34.         }}}
  35.        
  36. if ("help".equals(args[0])) {
  37.   System.out.println("Enter a number between 1 and 5 to play.");
  38. }
  39. else {
  40.   int number;
  41.   try {
  42.     number = Integer.parseInt(args[0]);
  43.   }
  44.   catch (NumberFormatException ex) {
  45.     System.out.println("Input is not an integer: " + args[0]);
  46.     return;
  47.   }
  48.   if ((number < 1) || (number > 5)) {
  49.     System.out.println("Number out of bounds: " + number);
  50.     return;
  51.   }
  52.   int r = new java.util.Random().nextInt(5) + 1;
  53.   if (number == r)
  54.     System.out.println("You won!");
  55.   else
  56.     System.out.println("You lost!");
  57. }
  58.        
  59. int r;
  60.     int g;
  61.         int temp;
  62.  
  63.     if ((args[0].compareTo("help")) == 0){
  64.             System.out.println("Enter a number between 1-5 to play.");
  65.     } else {
  66.                         try{
  67.                                 temp = Integer.parseInt(args[0]);
  68.                         }catch(NumberFormatException e){
  69.                                 System.out.println("Please enter a number");
  70.                                 System.exit(-1);
  71.                         }
  72.             if (Integer.parseInt(args[0]) > 0 && Integer.parseInt(args[0]) <= 5){
  73.                         r = ((int)(Math.random()));
  74.             g = Integer.parseInt(temp);
  75.  
  76.             if (r == g){
  77.                     System.out.println("YOU WON!");
  78.             } else {
  79.                     System.out.println("Wrong: number was " + r);
  80.             }
  81.                         }
  82.  
  83.     } else {
  84.             System.out.println("Something went horribly wrong.");
  85.  
  86.     }}}
  87.        
  88. g = Integer.parseInt(args[0]);
  89.        
  90. try {
  91.     g = Integer.parseInt(args[0]);
  92. } catch(NumberFormatException e) {
  93.     System.out.println("The first parameter was supposed to be a number!");
  94.     System.exit(1);
  95. }
  96.        
  97. if(args[0].equalsIgnoreCase("foo")) {
  98.     // now we know foo is the first arg.  Parse args[1]!
  99.     ...
  100. }
  101.        
  102. Random().nextInt(10) + 1;  // (Thanks @mmyers)