Método de leitura do leitor de fluxo de entrada retorna valor errado
Isso pode parecer muito fácil ou uma velha pergunta estúpida, mas é bem diferente para mim. Eu escrevi um programa para um padrão de pirâmide descendente que é assim.
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
Eu sei que isso é muito fácil, o truque é que eu não quero fazer isso usandoScanner
eInteger.parseInt()
. Eu estou tentando fazer isso comBufferedReader
eInputStreamReader
. Então, quando eu executo o seguinte código do meu método principal com uma entrada de 5 em num. Ele lê como 53 quando eu imprimi-lo. Eu não tenho ideia do porque está acontecendo. Mas quando eu uso o método 'Integer.parseInt (br.readLine ())', ele fornece a saída exata. Como é suposto acontecer quando o método de leitura deve ler valores int. Por favor, limpe-o.
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();
}
É a minha primeira pergunta, então, por favor, ignore os erros bobos, tentei escrevê-lo da melhor forma que pude. Obrigado..