loops-e-arrays
loops-e-arrays copied to clipboard
Duvidas sobre o Exercicio Nome e Idade
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();
}
}
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
nomeeidadedentro do laçowhile, já que elas foram iniciadas lá dentro. Com isso, elas só existem no escopo do laço:
-
Agora eu consiso usar tanto fora do laço quanto dentro do laço, já que foi declarado antes do laço:

E aí, respondi tua dúvida?
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. :)
Isso mesmo!! Entendeu tudo! (:
Qualquer dúvida, é só falar.