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

Nome Idade

Open GustaAntonioli opened this issue 2 years ago • 14 comments

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...");

}

}

GustaAntonioli avatar Jan 30 '23 01:01 GustaAntonioli

Também tá acontecendo comigo, nem sei mais o que fazer, vou aguardar a professora responder a sua dúvida. Vc utiliza o VScode?

adryannadrica avatar Feb 02 '23 23:02 adryannadrica

Oi, pessoal. Tudo certo?

Tentem o seguinte:

int idade = 0;
String nome = "";

E me digam se deu certo, por favor.

cami-la avatar Feb 03 '23 03:02 cami-la

Boa tarde! Tentei dessa forma, mais o código ainda não roda. Continua dando o mesmo erro. image

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

image

adryannadrica avatar Feb 04 '23 20:02 adryannadrica

o erro: image

adryannadrica avatar Feb 04 '23 20:02 adryannadrica

Quando você roda o código, aparece algum erro?

  1. Tem algum motivo para o Scanner está envolvido por um try - cacth. Tem alguma verificação sendo feita nessa entrada?
  2. Coloca essas variáveis (idade e nome) fora do try-cacth
  3. Se nada der certo, cola o código aqui para mim que eu tento rodar na minha máquina.

cami-la avatar Feb 06 '23 13:02 cami-la

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: image

thamirespereira avatar Feb 06 '23 16:02 thamirespereira

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 Screenshot from 2023-02-06 13-28-35

cami-la avatar Feb 06 '23 16:02 cami-la

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");
	}
}

MatheusBrito21 avatar Feb 07 '23 18:02 MatheusBrito21

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: @.***>

GustaAntonioli avatar Feb 13 '23 02:02 GustaAntonioli

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 ✨

cami-la avatar Feb 13 '23 08:02 cami-la

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. nomeIdade

GustaAntonioli avatar Feb 16 '23 15:02 GustaAntonioli

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. nomeIdade

Ficou lindo seu código! hehe

Mas sem o scan.close() está apresentando "error" ou "warning"?
O código chega a executar?

cami-la avatar Feb 16 '23 18:02 cami-la

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. nomeIdadeOriginal 👏👏👏😉

GustaAntonioli avatar Feb 17 '23 00:02 GustaAntonioli

Maravilha, @GustaAntonioli.

Precisando, é só falar!

Bons estudos. <3

cami-la avatar Feb 17 '23 18:02 cami-la