Nome Idade
Olá,
Meu código acusa o erro: the value of the local variable is not used Refere-se a variável idade. (escrevi o código manualmente copiando o seu (a única alteração está em Try antes de Scanner, alteração sugerida pelo sistema, pois também acusava erro nessa linha)). Sugere retirar a variável idade, porém não entendo, já que ela é utilizada pelo programa.
import java.util.Scanner;
public class exercicio1 {
public static void main(String[] args) {
try (Scanner scan = new Scanner(System.in)) {
String nome;
int idade;
while(true) {
System.out.println("Nome: ");
nome = scan.next();
if (nome.equals("0")) break;
System.out.println("idade: ");
idade = scan.nextInt();
}
}
System.out.println("continue aqui...");
}
}
Também tá acontecendo comigo, nem sei mais o que fazer, vou aguardar a professora responder a sua dúvida. Vc utiliza o VScode?
Oi, pessoal. Tudo certo?
Tentem o seguinte:
int idade = 0;
String nome = "";
E me digam se deu certo, por favor.
Boa tarde!
Tentei dessa forma, mais o código ainda não roda. Continua dando o mesmo erro.

Ele aparece pra digitar o nome, mais depois que digita o nome, ele não reconhece a solicitação.

o erro:

Quando você roda o código, aparece algum erro?
- Tem algum motivo para o Scanner está envolvido por um
try - cacth. Tem alguma verificação sendo feita nessa entrada? - Coloca essas variáveis (idade e nome) fora do
try-cacth - Se nada der certo, cola o código aqui para mim que eu tento rodar na minha máquina.
Boa tarde, pessoal!
O meu estava tendo o mesmo problema, acredito que seja porque a variável não estava sendo usada depois do scan. Então eu adicionei uma condição para o programa parar caso a idade seja igual a zero. Ficou assim:

Só por desencargo de consciência, tentem rodar esse código aqui:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int idade;
String nome;
while(true) {
System.out.println("Nome: ");
nome = scan.next();
if(nome.equals("0")) break;
System.out.println("Idade: ");
idade = scan.nextInt();
if(idade == 0) break;
}
System.out.println("Fim do programa");
}
}
Na minha máquina funciona. #nãoémeme

Olá pessoal!
Como corrigir os erros:
- adicione " if (idade == 0) break; " depois da leitura da variavel idade;
- sempre usem "scan.close();" para fechar o Scanner, assim não precisa usar o try-catch
Tentem com o codigo abaixo.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int idade;
String nome;
while (true) {
System.out.println("Nome: ");
nome = scan.next();
if (nome.equals("0"))
break;
System.out.println("Idade: ");
idade = scan.nextInt();
if (idade == 0) break; // <-------correção do erro variável não utilizada
}
scan.close(); // <---------resolvendo o Scanner
System.out.println("Fim do programa");
}
}
Olá pessoal.
Eu uso o vs code. Usei o try apenas para sair do erro no Java para correção do código. Aliás, não sabia do scan close, vou estudar para ver como aplicar. Obrigado.
Em qui., 2 de fev. de 2023 20:48, adryannadrica @.***> escreveu:
Também tá acontecendo comigo, nem sei mais o que fazer, vou aguardar a professora responder a sua dúvida. Vc utiliza o VScode?
— Reply to this email directly, view it on GitHub https://github.com/cami-la/loops-e-arrays/issues/42#issuecomment-1414520409, or unsubscribe https://github.com/notifications/unsubscribe-auth/AWRIQR7BUDC63BHBGON7Y4TWVRBTBANCNFSM6AAAAAAUKSROOE . You are receiving this because you authored the thread.Message ID: @.***>
Olá pessoal.
Eu uso o vs code. Usei o try apenas para sair do erro no Java para correção do código. Aliás, não sabia do scan close, vou estudar para ver como aplicar. Obrigado.
Em qui., 2 de fev. de 2023 20:48, adryannadrica @.***> escreveu:
Também tá acontecendo comigo, nem sei mais o que fazer, vou aguardar a professora responder a sua dúvida. Vc utiliza o VScode?
— Reply to this email directly, view it on GitHub https://github.com/cami-la/loops-e-arrays/issues/42#issuecomment-1414520409, or unsubscribe https://github.com/notifications/unsubscribe-auth/AWRIQR7BUDC63BHBGON7Y4TWVRBTBANCNFSM6AAAAAAUKSROOE . You are receiving this because you authored the thread.Message ID: @.***>
Neste caso, não é obrigatório utilizar o método close() nem envolver o código com a cláusula try-catch não, viu?
Se você quiser se aprofundar mais nesse assunto, tenho um curso na DIO que falar sobre stream de arquivos e falo sobre o método close().
Se eu não me engane, o curso é "Trabalhando com Arquivos Java". Se te interessar, procuro e coloco o link aqui. 😊
Bons estudos ✨
Olá @cami-la, obrigado pelas respostas. Segui suas orientações, porém tive que fazer também algumas alterações acrescentando uma condição no último bloco do código e também o close. não consegui sem fazer essas alterações. abaixo como ficou a segunda versão.

Olá @cami-la, obrigado pelas respostas. Segui suas orientações, porém tive que fazer também algumas alterações acrescentando uma condição no último bloco do código e também o close. não consegui sem fazer essas alterações. abaixo como ficou a segunda versão.
Ficou lindo seu código! hehe
Mas sem o scan.close() está apresentando "error" ou "warning"?
O código chega a executar?
Olá, @cami-la refiz o código deixando igual ao seu e rodou sem problemas, fica o warnig no scan e em idade, mas não impede o cód. de rodar. Devia ter algum outro erro que não notei lá na primeira versão do cód, sendo assim, o código que você ensinou na aula funciona perfeitamente. Mantive as duas versões com a finalidade de estudo apenas. Muito obrigado.
👏👏👏😉
Maravilha, @GustaAntonioli.
Precisando, é só falar!
Bons estudos. <3