Simple program from DEITLE's book , read 5 integers and the program should print line containing that number of adjacent asterisks .i.e (if num = 5 the output \*\*\*\*\*) .
I have tested the same solution in c++ and it worked fine . yet, here the buffer is holding strange values (50 ?) .
I think the problem is in using the buffer , however i want to know why this is happening?

```
   /*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package javaapplication1;
import java.io.*;
import java.util.Date;
/**
 * Program that reads five numbers and print starts equal to each number 
 *
 * @author Hassan
 */
public class JavaApplication1 

{

    public static void main(String[] args) 
    {
       int num ; 
       java.io.InputStreamReader  ins= new InputStreamReader(System.in);
       java.io.BufferedReader bfr = new BufferedReader (ins);

       try
       {

       for(int i=0;i<5;i++)
       {
           System.out.println("Please Enter a number");

           num = bfr.read(); 

       System.out.print(num);

             for(int j=0;j<num;j++)
                {   System.out.print("* ");  }
                  System.out.println("\n");

       }    
       } 

       catch(Exception E )
       {System.out.println(E.getMessage());  }

    }
}

```

EDIT :the problem has been solved , yet the program -out of 5 inputs -is reading 3 only i.e its reading input and ignoring the next one 
![enter image description here](https://i.stack.imgur.com/tnu3k.jpg)