Duvidas no uso de If e Else

4 respostas
C

Duvidas no uso de If e Else…

Pessoal sou inicialmente em programação, e necessito da ajuda de vcs…
Por favor analisem a classe, abaixo e me respondam por que o programa não e finalizado quando a primeira condição e atendida…
Agradeço a atenção de todos…

conectionsp


import java.util.Scanner;

public class NotasEscolares

{

public static void main (String arg[])

{

Scanner entrada=new Scanner(System.in);
System.out.println("Informe a primeira nota: ");
	byte nota1=entrada.nextByte();
	System.out.println("");
	
	System.out.println("Informe a segunda nota: ");
	byte nota2=entrada.nextByte(); 
	System.out.println(""); 	
	 			 		 		 		
	if (nota1+nota2>=5)
	System.out.println("Aluno aprovado, média do aluno "+(nota1+nota2)+".");

[color=red] //Por que o programa não finaliza nesta instrução, ele continua a ler todo o resto?[/color]

else 
	System.out.println("Aluno em exame, média do aluno "+(nota1+nota2)+"."); 		
	System.out.println("Informa a nota do exame");
	byte exame=entrada.nextByte();
	
	if (nota1+nota2+exame>=5)		
	System.out.println("Aluno aprovado, após o exame!, média do aluno "
	+(nota1+nota2+exame)+".");
	
	else 
	System.out.println("Aluno reprovado!, média do aluno "+
	(nota1+nota2+exame)+"."); 			 			
}

}

4 Respostas

J

cara vc tem que chamar programa passango informações…

ao menos vc fez isso???

olha ccomo ele ta pegando:

byte nota1=entrada.nextByte(); 

 byte nota2=entrada.nextByte();
M

A estrutura if…else lê apenas uma instrução caso não se utilize chaves. Por exemplo, na instrução abaixo a instrução 3 sempre será executada:

if(condição)
 // instrução 1
 System.out.println("Pode passar por aqui!");
else
 // instrução 2
 System.out.println("Pode passar por aqui");

 // instrução 3
 System.out.println("Vai passar por aqui!");

Para que a terceira instrução seja lida apenas quando a comparação do if não seja verdadeira, precisaremos definir os blocos em chaves, algo como (repare nas chaves):

if(condição){
 // instrução 1
 System.out.println("Pode passar por aqui!");
}else{
 // instrução 2
 System.out.println("Pode passar por aqui");
 // instrução 3
 System.out.println("Pode passar por aqui!");
}

Até mais!

J

Cara eu não entendi direito sua dúvida, mas eu testei o teu código e fiz algumas modificações!! Se você ainda tiver com dúvidas, posta aew!!

import java.util.Scanner;

public class Notas Escolares
{ 
	public static void main (String arg[]) 
	{ 
		Scanner entrada=new Scanner(System.in); 
		
		System.out.println("Informe a primeira nota: "); 
		byte nota1=entrada.nextByte(); 
		System.out.println(""); 
		
		System.out.println("Informe a segunda nota: "); 
		byte nota2=entrada.nextByte(); 
		System.out.println(""); 
		
		float media = (float)(nota1+nota2)/2;
		
		if (media>=5) 
			System.out.println("Aluno aprovado, media do aluno "+media+"."); 
		
		//Por que o programa não finaliza nesta instrução, ele continua a ler todo o resto? 
		
		else 
			System.out.println("Aluno em exame, media do aluno "+media+"."); 
		
		System.out.println("Informa a nota do exame"); 
		byte exame=entrada.nextByte(); 
		
		float mediaExame = (float)(nota1+nota2+exame)/3;
		
		if (mediaExame>=5) 
			System.out.println("Aluno aprovado, apos o exame!, media do aluno "+mediaExame+"."); 
		
		else 
			System.out.println("Aluno reprovado!, media do aluno "+mediaExame+"."); 
	} 
}

Espero ter ajudado!!

Flw e t+!!

C

Pessoal agradeço a todos…
Valeu mesmo…

Criado 5 de outubro de 2006
Ultima resposta 7 de out. de 2006
Respostas 4
Participantes 4