Programação Progressiva

Fórum para dúvidas dos sites: Programação Progressiva, Java Progressivo, C Progressivo


Você não está conectado. Conecte-se ou registre-se

Aula if else, dúvida

Ver o tópico anterior Ver o tópico seguinte Ir em baixo  Mensagem [Página 1 de 1]

1 Aula if else, dúvida em Qui Ago 13, 2015 3:01 am

Olá pessoal, nunca programei nenhuma linguagem, estou seguindo o guia de java do site e estou adorando, muito legal!

Se puderem me ajudar, estou com uma dúvida, fiz o exercício de notas, aprovação, recuperação e reprovação da aula de if else, peguei até numas aulas pra frente ai um while e está funcionando muito legal, se a pessoa coloca qualquer número diferente do intervalo de 0 a 10 ele reinicia. Legal, mas se a pessoa põe uma letra qualquer, pronto, ele trava... queria saber como fazer o programa reiniciar também quando há input de algo diferente de números!

Código:

package learning_1;
import java.util.Scanner;

public class Learning_1 {
   public static void main(String[] args) {
      boolean continuar = true;
       Scanner entrada = new Scanner (System.in);
              float num1;
             
           while(continuar){
              System.out.println("Digite sua nota: ");
              num1 = entrada.nextFloat();
             
           if ((num1 <=10)&&(num1>=0)){
               System.out.println("Nota Válida");
              continuar=false;
             
              if (num1 >= 7){
                  System.out.println("Parabens, você passou!");
              }
             
              if ((num1 < 7) && (num1 >= 5)){
                   System.out.println("Você deve fazer uma prova de recuperação");        
              }
             
              if (num1 <5){
                  System.out.println("Você está reprovado, mal ae");
              }
           }
             
           else {
               System.out.println("Nota Inválida, fechando aplicativo");
              }
             
           }      
   }
 
   
}


Obrigado!!

(como faz pra postar o código naquele quadro cinza??)

Ver perfil do usuário

2 Re: Aula if else, dúvida em Sex Ago 14, 2015 6:22 am

Assim:
Código:
if (!entrada.hasNextFloat())
{
    entrada.next();
    continue;
}

num1 = entrada.nextFloat();

Assim:
Código:
try
{
    num1 = entrada.nextFloat();
}
catch(InputMismatchException e)    // pra usar essa exceção, importe java.util.InputMismatchException
{
    entrada.next();
    continue;
}

E acho que ainda há mais métodos. Mas esses já resolvem. Very Happy

Ver perfil do usuário

3 Re: Aula if else, dúvida em Qua Ago 19, 2015 7:59 am

AbnerRMS escreveu:Assim:
Código:
if (!entrada.hasNextFloat())
{
    entrada.next();
    continue;
}

num1 = entrada.nextFloat();

Assim:
Código:
try
{
    num1 = entrada.nextFloat();
}
catch(InputMismatchException e)    // pra usar essa exceção, importe java.util.InputMismatchException
{
    entrada.next();
    continue;
}

E acho que ainda há mais métodos. Mas esses já resolvem. Very Happy


ahh eu fiz o primeiro e deu certo! vlw! mas... o que você fez? kkk só pra aproveitar e aprender um pouco mais rsrs

Ver perfil do usuário

4 Re: Aula if else, dúvida em Qui Ago 20, 2015 4:45 pm

É tipo assim:
Código:
// se a próxima entrada não ('!' operador de negação) for um float
if (!entrada.hasNextFloat())
{
    entrada.next(); // limpar o buffer de entrada
    continue; // volta ao inicio do laço while sem executar as linhas abaixo
}

E a segunda, usa o tratamento de exceções:
Código:
try    // tenta executar isso
{
    num1 = entrada.nextFloat();
}
catch(InputMismatchException e)  // se a entrada não for a esperada
{
    entrada.next();
    continue;
}

Ver perfil do usuário

Conteúdo patrocinado


Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo  Mensagem [Página 1 de 1]

Permissão deste fórum:
Você não pode responder aos tópicos neste fórum