loops-e-arrays icon indicating copy to clipboard operation
loops-e-arrays copied to clipboard

Duvidas sobre o Exercicio Nome e Idade

Open AdrianaAndrade2203 opened this issue 3 years ago • 3 comments

Tenho uma duvida,

Apesar de compilar e funcionar, seria uma má pratica se eu já fizer a declaração da variável junto com o comando da impressão da mensagem para receber as informações que eu desejo.

Meu código ficou da seguinte forma:


import java.util.Scanner;

public class NomeEIdade {

public static void main(String[] args) {
	Scanner sc = new Scanner(System.in);

	while (true) {
		System.out.println("Digite o nome: ");
		String nome = sc.next();
		if (nome.equals("0"))
			break;

		System.out.println("Digite a idade: ");
		int idade = sc.nextInt();
		
	}
	System.out.println(" Acabou....");
	sc.close();
}

}

AdrianaAndrade2203 avatar Jul 21 '22 17:07 AdrianaAndrade2203

Oi, Adri. Tudo bem?

Então, má prática não é, mas isso gera uma limitação. Por exemplo, se você quiser imprimir o valor armazenado nas variáveis nome e idade, fora do laço while, você não consegue.

Por exemplo:

  • Dessa forma, o meu programa só reconhece as variáveis nome e idade dentro do laço while, já que elas foram iniciadas lá dentro. Com isso, elas só existem no escopo do laço: 2022-07-21_16-31

  • Agora eu consiso usar tanto fora do laço quanto dentro do laço, já que foi declarado antes do laço: 2022-07-21_16-33

E aí, respondi tua dúvida?

cami-la avatar Jul 21 '22 19:07 cami-la

Obgda!! Entendi sim !! Super entendido por sinal. Pode até não ser uma má pratica, mas pode se tornar depois, pois se eu tiver que usar fora do bloco de laço de repetição as mesmas variáveis, e teria que declara-las novamente, gerando uma duplicidade. :)

AdrianaAndrade2203 avatar Jul 21 '22 22:07 AdrianaAndrade2203

Isso mesmo!! Entendeu tudo! (:

Qualquer dúvida, é só falar.

cami-la avatar Jul 22 '22 08:07 cami-la