Erro na condição[RESOLVIDO]

[color=darkblue]Eu compilo e executo, mais quando eu executo a condição que esta em negrito ele não imprime a frase: “Eita porra se garantiu viu?!” , ele imprime a frase da condição de cima: “Voce foi aprovado”, alguem pode me ajudar pois não estou encontrando o erro.[/color]

[code]import java.util.Scanner;

 public class Boletim {
 
      public static void main(String s[]) {
	     Scanner entrada = new Scanner(System.in);
		 System.out.println("Digite seu nome: ");
		 String nome = entrada.nextLine();
		 
		 System.out.println("Digite sua nota do 1 bimestre");
		 double nota1 = entrada.nextDouble();
		 
		 System.out.println("Digite sua nota do 2 bimestre");
		 double nota2 = entrada.nextDouble();
		 
		 System.out.println("Digite sua nota do 3 bimestre");
		 double nota3 = entrada.nextDouble();
		 
		 System.out.println("Digite sua nota do 4 bimestre");
		 double nota4 = entrada.nextDouble();
		 
		     
			 
			 if ((nota1+nota2+nota3+nota4) / 4 > 6) {
			 System.out.println(nome+":"+"Voce foi aprovado");
		 
		    } else if((nota1+nota2+nota3+nota4) / 4 > 8 ) {
			System.out.println(nome+":"+"Eita porra se garantiu viu?!");
             
            } else {
			System.out.println(nome+":"+"Ah um Junior, vai estudar p...");
            }
	 }			
			  
 }[/code]

Se for maior do que 8, sempre será maior do que 6, portanto, a primeira expressão:

if ((nota1+nota2+nota3+nota4) / 4 > 6) { System.out.println(nome+":"+"Voce foi aprovado"); }
… será sempre verdadeira quando você quiser, por exemplo, que seja imprimido o que está dentro da segunda expressão.

(Quando for postar, coloque seu código entre as tags [code] [/code)

[]'s

getAdicted
não entendi sua resposta ,

quando eu digito nas notas 9, 9, 9, 9 é para aparecer a segunda frase e não a primeira pois a media das 4 notas são acima de 9, pode me explicar a solução para aparecer a segunda frase?

[quote=RLeonardo]getAdicted
não entendi sua resposta ,

quando eu digito nas notas 9, 9, 9, 9 é para aparecer a segunda frase e não a primeira pois a media das 4 notas são acima de 9, pode me explicar a solução para aparecer a segunda frase?

[/quote]

Oi,

Vamos lah, (9 + 9 + 9 + 9) / 4 > 6, certo? Certo!

Quando a primeira expressão:

if((nota1+nota2+nota3+nota4) / 4 > 6) { System.out.println(nome+":"+"Voce foi aprovado"); }
… for avaliada, ela será verdadeira, será impresso o que está entre parenteses e imediatamente sairá do programa.
Eu acho que o que você quer fazer, eh isso:

[code] double nota = nota1 + nota2 + nota3 + nota4 / 4;

	if(nota > 6 && nota < 8) {
		System.out.println(nome + ":" + "Voce foi aprovado");

	} else if (nota > 8) {
		System.out.println(nome + ":" + "Eita porra se garantiu viu?!");

	} else {
		System.out.println(nome + ":" + "Ah um Junior, vai estudar p...");
	}[/code]

Pode ser melhorado.

[]'s

[quote=getAdicted]
… for avaliada, ela será verdadeira, será impresso o que está entre parenteses e imediatamente sairá do programa.
Eu acho que o que você quer fazer, eh isso:

[code] double nota = nota1 + nota2 + nota3 + nota4 / 4;

	if(nota > 6 && nota < 8) {
		System.out.println(nome + ":" + "Voce foi aprovado");

	} else if (nota > 8) {
		System.out.println(nome + ":" + "Eita porra se garantiu viu?!");

	} else {
		System.out.println(nome + ":" + "Ah um Junior, vai estudar p...");
	}[/code]

Pode ser melhorado.

[]'s[/quote]

coitado do cara que tirar 8. :smiley:

[quote=ErickRAR][quote=getAdicted]
… for avaliada, ela será verdadeira, será impresso o que está entre parenteses e imediatamente sairá do programa.
Eu acho que o que você quer fazer, eh isso:

[code] double nota = nota1 + nota2 + nota3 + nota4 / 4;

	if(nota > 6 && nota < 8) {
		System.out.println(nome + ":" + "Voce foi aprovado");

	} else if (nota > 8) {
		System.out.println(nome + ":" + "Eita porra se garantiu viu?!");

	} else {
		System.out.println(nome + ":" + "Ah um Junior, vai estudar p...");
	}[/code]

Pode ser melhorado.

[]'s[/quote]

coitado do cara que tirar 8. :D[/quote]

[code] double nota = nota1 + nota2 + nota3 + nota4 / 4;

	if(nota > 6 && nota < 8) {
		System.out.println(nome + ":" + "Voce foi aprovado");

	} else if (nota > 8) {
		System.out.println(nome + ":" + "Eita ... se garantiu viu?!");

	} else {
		System.out.println(nome + ":" + "Ah um Junior, vai estudar p...");
	}[/code]

[/quote]

Censurado, rs

[]'s

getAdicted

Quando vc me falou isso, eu troquei as condiçoes e funcionou oh kra, pois ele executa a 1ª condição se for verdadeira vlw ai pela ajuda.

Oi,

Vamos lah, (9 + 9 + 9 + 9) / 4 > 6, certo? Certo!

Quando a primeira expressão:

if((nota1+nota2+nota3+nota4) / 4 > 6) { System.out.println(nome+":"+"Voce foi aprovado"); }

… for avaliada, ela será verdadeira, será impresso o que está entre parenteses e imediatamente sairá do programa.
Eu acho que o que você quer fazer, eh isso:

Coloquei assim agora:

[code]if ((nota1+nota2+nota3+nota4) / 4 > 8) {
System.out.println(nome+":"+“Eita porra se garantiu viu?!”);

		    } else if((nota1+nota2+nota3+nota4) / 4 >= 6) {
			System.out.println(nome+":"+"Voce foi aprovado");
             
            } else {
			System.out.println(nome+":"+"Ah um Junior, vai estudar p...");
            }[/code]

ficou do jeito que eu queria, imprimindo o que é certo nas condiçoes.

[quote=RLeonardo]getAdicted

Quando vc me falou isso, eu troquei as condiçoes e funcionou oh kra, pois ele executa a 1ª condição se for verdadeira vlw ai pela ajuda.

Oi,

Vamos lah, (9 + 9 + 9 + 9) / 4 > 6, certo? Certo!

Quando a primeira expressão:

if((nota1+nota2+nota3+nota4) / 4 > 6) { System.out.println(nome+":"+"Voce foi aprovado"); }

… for avaliada, ela será verdadeira, será impresso o que está entre parenteses e imediatamente sairá do programa.
Eu acho que o que você quer fazer, eh isso:

Coloquei assim agora:

[code]if ((nota1+nota2+nota3+nota4) / 4 > 8) {
System.out.println(nome+":"+“Eita porra se garantiu viu?!”);

		    } else if((nota1+nota2+nota3+nota4) / 4 >= 6) {
			System.out.println(nome+":"+"Voce foi aprovado");
             
            } else {
			System.out.println(nome+":"+"Ah um Junior, vai estudar p...");
            }[/code]

ficou do jeito que eu queria, imprimindo o que é certo nas condiçoes.[/quote]

Fico feliz em poder ajudar. Altera o assunto do seu 1º post e adiciona [RESOLVIDO].

[]'s

import java.util.Scanner;
public class TiposSe {

    public static void main(String [] args) {  
       Scanner entrada = new Scanner(System.in);  
       System.out.println("Digite seu nome: ");  
       String nome = entrada.nextLine();  
         
       System.out.println("Digite sua nota do 1 bimestre");  
       double nota1 = entrada.nextDouble();  
         
       System.out.println("Digite sua nota do 2 bimestre");  
       double nota2 = entrada.nextDouble();  
         
       System.out.println("Digite sua nota do 3 bimestre");  
       double nota3 = entrada.nextDouble();  
         
       System.out.println("Digite sua nota do 4 bimestre");  
       double nota4 = entrada.nextDouble();  
         
       double media = (nota1+nota2+nota3+nota4) / 4 ;
             
             
           if (media > 6 && media <=7) {  
           System.out.println(nome+": "+"Voce foi aprovado");  
         
          } else if(media >= 8) {  
          System.out.println(nome+": "+"Eita porra se garantiu viu?!" + "Sua nota foi "+media);  
             
          } else {  
          System.out.println(nome+": "+"bicho burro vai estudar mah" + "Sua nota foi "+media);
          }
   }   

}

[code]

[quote=ErickRAR][quote=getAdicted]
… for avaliada, ela será verdadeira, será impresso o que está entre parenteses e imediatamente sairá do programa.
Eu acho que o que você quer fazer, eh isso:

[code] double nota = nota1 + nota2 + nota3 + nota4 / 4;

	if(nota > 6 && nota < 8) {
		System.out.println(nome + ":" + "Voce foi aprovado");

	} else if (nota > 8) {
		System.out.println(nome + ":" + "Eita porra se garantiu viu?!");

	} else {
		System.out.println(nome + ":" + "Ah um Junior, vai estudar p...");
	}[/code]

Pode ser melhorado.

[]'s[/quote]

coitado do cara que tirar 8. :D[/quote]

kkkkkk…

Uma outra forma de ser feito …

[code]
/**

  • @author Andy11x
    */
    public class Notas {

    public static void main(String[] args) {
    String nome;
    double notas = 0;
    int cont = 1;

     System.out.print("Digite seu Nome: ");
     nome = new Scanner(System.in).nextLine();        
     do{
         System.out.print("Digite sua nota do " + cont +  " bimestre: ");
         notas += new Scanner(System.in).nextDouble();
         cont++;            
     }while(cont <= 4);        
     System.err.println(resultado(notas, nome));
    

    }

    private static String resultado(double notas, String nome) {
    double media = notas / 4;
    return media >= 6 && media <= 7 ? "Voce foi aprovado " + nome :
    media > 7 ? "Eita porra se garantiu viu " + nome :
    “Ah " + nome + " você reprovou :(\n”;
    }
    }[/code]

[quote=getAdicted][quote=ErickRAR][quote=getAdicted]
… for avaliada, ela será verdadeira, será impresso o que está entre parenteses e imediatamente sairá do programa.
Eu acho que o que você quer fazer, eh isso:

[code] double nota = nota1 + nota2 + nota3 + nota4 / 4;

	if(nota > 6 && nota < 8) {
		System.out.println(nome + ":" + "Voce foi aprovado");

	} else if (nota > 8) {
		System.out.println(nome + ":" + "Eita porra se garantiu viu?!");

	} else {
		System.out.println(nome + ":" + "Ah um Junior, vai estudar p...");
	}[/code]

Pode ser melhorado.

[]'s[/quote]

coitado do cara que tirar 8. :D[/quote]

[code] double nota = nota1 + nota2 + nota3 + nota4 / 4;

	if(nota > 6 && nota < 8) {
		System.out.println(nome + ":" + "Voce foi aprovado");

	} else if (nota > 8) {
		System.out.println(nome + ":" + "Eita ... se garantiu viu?!");

	} else {
		System.out.println(nome + ":" + "Ah um Junior, vai estudar p...");
	}[/code]

[/quote]

Censurado, rs

[]'s[/quote]

O Bruce Lee não estava se referindo ao fato do if classificar quem tira exatamente 8 ser reprovado (parece que falta um >=) ?

[quote=nanoverso][quote=getAdicted][quote=ErickRAR][quote=getAdicted]
… for avaliada, ela será verdadeira, será impresso o que está entre parenteses e imediatamente sairá do programa.
Eu acho que o que você quer fazer, eh isso:

[code] double nota = nota1 + nota2 + nota3 + nota4 / 4;

	if(nota > 6 && nota < 8) {
		System.out.println(nome + ":" + "Voce foi aprovado");

	} else if (nota > 8) {
		System.out.println(nome + ":" + "Eita porra se garantiu viu?!");

	} else {
		System.out.println(nome + ":" + "Ah um Junior, vai estudar p...");
	}[/code]

Pode ser melhorado.

[]'s[/quote]

coitado do cara que tirar 8. :D[/quote]

[code] double nota = nota1 + nota2 + nota3 + nota4 / 4;

	if(nota > 6 && nota < 8) {
		System.out.println(nome + ":" + "Voce foi aprovado");

	} else if (nota > 8) {
		System.out.println(nome + ":" + "Eita ... se garantiu viu?!");

	} else {
		System.out.println(nome + ":" + "Ah um Junior, vai estudar p...");
	}[/code]

[/quote]

Censurado, rs

[]'s[/quote]

O Bruce Lee não estava se referindo ao fato do if classificar quem tira exatamente 8 ser reprovado (parece que falta um >=) ?[/quote]

Correto, desculpe a minha desatenção.

[]'s