Метод чтения чтения входного потока возвращает неправильное значение

Это может показаться очень простым или старым глупым вопросом, но для меня это совсем другое. Я написал Программу для Полусходящей пирамиды, которая выглядит следующим образом.

1

1 2

1 2 3

1 2 3 4

1 2 3 4 5

Я знаю, что это очень легко, дело в том, что я не хочу делать это с помощьюScanner а такжеInteger.parseInt(), Я пытаюсь сделать это сBufferedReader а такжеInputStreamReader, Поэтому, когда я выполняю следующий код моего основного метода с вводом 5 в num. Это читает как 53, когда я печатаю это. Я понятия не имею, почему это происходит. Но когда я использую метод Integer.parseInt (br.readLine ()), он дает точный результат. Как это должно происходить, когда метод чтения должен читать значения int. Пожалуйста, очистите это.

    int num1;   
    BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
    System.out.println("Enter hte value of num1");
    //num1=Integer.parseInt(br.readLine());
    num1=br.read();
    System.out.println(num1);
    for(int i=0;i<num1;i++)
    {
        for(int j=0;j<=i;j++)
        {
            System.out.print(j+"\t");

        }
        System.out.println();
    }

Это мой первый вопрос, поэтому, пожалуйста, не обращайте внимания на глупые ошибки, я постарался написать это как можно лучше. Спасибо..

Ответы на вопрос(3)

Ваш ответ на вопрос