Starting with Java version 5.0, we have an alternative way to read numbers from an input channel, namely by making use of the Scanner class. We first create a Scanner object that reads from the input channel. Then we can directly read a value of a primitive numeric data type by invoking on the Scanner object one of the methods nextByte(), nextShort(), nextInt(), nextLong(), nextFloat(), and nextDouble().
Example:
Scanner scanner = new Scanner(System.in); ... System.out.println("Insert a byte"); byte b = scanner.nextByte(); System.out.println("Insert a short"); short s = scanner.nextShort(); System.out.println("Insert an int"); int i = scanner.nextInt(); System.out.println("Insert a long"); long l = scanner.nextLong(); System.out.println("Insert a float"); float f = scanner.nextFloat(); System.out.println("Insert a double"); double d = scanner.nextDouble();