Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Lendo da entrada padrão

Olá a todos, tudo bem? Quando leio da entrada padrão, consigo fazer com que apareça as mensagens que digito no console. Porém, até agora, ainda não consegui fazer a leitura da linha retornar null. No meu caso, como eu uso o teclado, cada vez que digito uma mensagem no console, tenho de apertar enter para que o console pule de linha e imprima a mensagem que eu digitei. Se eu apertar enter sem digitar nada, a String fica em branco e o loop do while não pára. Segue código para análise:

package br.com.alura.testeio.programa;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class TestaEntrada {

    public static void main(String[] args) throws IOException {
        InputStreamReader isr = new InputStreamReader(System.in);
        BufferedReader br = new BufferedReader(isr);
        System.out.println("Digite sua mensagem");
        String linha = br.readLine();
        while (linha != null) {
            System.out.println(linha);
            linha = br.readLine();
        }
        System.out.println("O programa terminou");

    }

}
3 respostas
solução!

Fala ai Guido, tudo bem ?

Testa fazer uma validação para ver se a string está vazia

 while (!linha.isEmpty()) {
            System.out.println(linha);
            linha = br.readLine();
        }

Ok, vou testar e já dou um feedback. Abraços!

Olá, Tudo certo? Funcionou! Muito grato!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software