How to use readline() method in Java?

Junior Bill gates picture Junior Bill gates · Dec 19, 2011 · Viewed 361.8k times · Source

I am beginner in Java, and I was reading the topic of giving values to variables through the readLine() method from the keyboard. The program for that is given in the book is as follows:

import java.io.DataInputStream
class Reading
{
    public static void main(String args[])
    {
        DataInputStream in = new DataInputStream(System.in);
        int intnumber=0;
        float floatnumber=0.0f;
        try {
            system.out.println("enter an integer: ");
            intnumber = Integer.parseInt(in.readline());

            system.out.println("enter a float number: ");
            floatnumber = Float.valueOf(in.readline()).floatvalue();
        }

        // Rest of code

I want to ask the following questions:

  1. What is done in the following statement?

    DataInputStream in = new DataInputStream(System.in);
    

    If in is an object of DataInputStream then what is new and what do the statement on the right-hand side of above statement do?

  2. Why have different methods been used for putting the integer value into intnumber and float value into floatnumber?

Answer

Jomoos picture Jomoos · Dec 19, 2011

I advise you to go with Scanner instead of DataInputStream. Scanner is specifically designed for this purpose and introduced in Java 5. See the following links to know how to use Scanner.

Example

Scanner s = new Scanner(System.in);
System.out.println(s.nextInt());
System.out.println(s.nextInt());
System.out.println(s.next());
System.out.println(s.next());