0

Sample code for taking input from Shell demonstrating string and int input
For simple programs or testing purpose its not always required to take input thru GUI.

/**
 * Sample code for taking input from Shell demonstrating 
 * string and int input
 * For simple programs or testing purpose its not always 
 * required to take input thru GUI.
 *
 * @author  aj.wh.ca
 * #link 	www.swiftthoughts.com
 */

import java.io.*;

public class ShellUtils
{
      //get String or simply enter from shell
      public static String getStringFromShell(String prompt)
      {
            try
            {
                  System.out.print(prompt);
                  return new BufferedReader(new InputStreamReader(System.in)).readLine();		
            }
            catch (IOException e)
            {
                  e.printStackTrace();
            }
            return null ;
      }

      // get an int. Keep asking until not
      public static int getIntFromShell(String prompt)
      {
            String line = "" ;
            int num = 0 ;
            while(line.equals(""))
            {
                  line = getStringFromShell(prompt);
                  try
                  {
                        num = Integer.parseInt(line);
                  }
                  catch(NumberFormatException e)
                  {
                        System.out.println("Error: Invalid number");
                        line = "" ;
                  }
            }
            return num ;
      }

      // similiar methods can be made for getting char , double etc

      public static void main(String args[])
      {
            String name = ShellUtils.getStringFromShell("Please enter your name ");
            int age = ShellUtils.getIntFromShell("Please enter your age ");

            System.out.println(name + " is "+ age + " years old !!!");
      }

}
3
Contributors
2
Replies
3
Views
12 Years
Discussion Span
Last Post by javaAddict
-1

For taking input of an integer use this code

import java.io.*;
class inputno
{
public static void main(String args[]) throws IOException
{
int a;
BufferedReader br=new BufferedReader (new InputStreamReader(System.in));
a=Integer.parseInt(br.readLine());
}
}

Votes + Comments
Original code snipped is better then yours, so worthless input from you
0

Whenever you do this:

return new BufferedReader(new InputStreamReader(System.in)).readLine();

you keep creating a new BufferedReader every time you call the method.
Not very efficient.
Try and have the BufferedReader as static and then use it form the static methods.

Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.