Public boolean

4 respostas
edipokbelo

por que o public boolean exe14Primo dá erro? :?
não achei uma explicação ainda

package lista17;

public class Exercicios {

		public static void exe1par(int numero){
			if(numero%2==0){
				System.out.print(true);
			}
			else{
				System.out.print(false);
			}
		}
		
		public static void exe2for(){
			for(int i=0;i<=100;i++){
				System.out.print(i+" ");
			}
		}
		
		public static void exe2do(){
			int i=1;
				do{
					System.out.print(i+" ");
					i++;
				}while(i<=100);
		}
		
		public static void exe2while(){
			int i=1;
			while(i<=100){
				System.out.print(i+" ");
				i++;
			}
		}
		
		public static void exe3for(int n1,int n2){
			for(;n1<=n2;n1++){
				System.out.print(n1+" ");
			}
		}
		
		public static void exe3do(int n1,int n2){
			do{
				System.out.print(n1+" ");
				n1++;
			}while(n1<=n2);
		}
		
		public static void exe3while(int n1, int n2){
			while(n1<=n2){
				System.out.print(n1+" ");
				n1++;
			}
		}
		
		public boolean exe6Aprovado(int nota){
			if(nota>=7){
				return true;
			}
			else{
				return false;
			}
		}
		
		public int exe8Maior(int a,int b, int c){
			if((a>b) && (b>c)){
				return a;
			}
				if((b>a) && (a>c)){
					return b;
				}
				else{
					return c;
				}	
		}
		
		public boolean exe9Entre(int numero){
			if((numero>0) && (numero<100)){
				return true;
			}
			else{
				return false;
			}
		}
		
		public int exe10Media(int numero1,int numero2,int numero3){
			int media;
			media=(numero1+numero2+numero3)/3;
			return media;
		}
		
		public int exe11Expo(int numero1,int numero2){
			int expo=0;
			for(int i=0;numero2>0;numero2--){
				expo=numero1*numero1;
				}
			return expo;
		}
		
		public boolean exe12Bissexto(int ano){
			if((ano%4==0) || (ano%400==0)){
				return true;
			}
			else{
				return false;
			}
		}
		
		public boolean exe14Primo(int numero){
			   for(int i=1;i<numero;i++){
				   if(numero%i==0){
					   return false;
				   }
				   else{
					   return true;
				   }
			   }
		}
		
		
}

4 Respostas

thiago.correa

Porque ele pensa que a condição pode ser que nunca seja satisfeita e não retorne nada, melhorando o teu código e deixando um método mais simples

public boolean exe9Entre(int numero){   
            if((numero>0) && (numero<100)){   
                return true;   
            }   
            return false;   
        }

Faça o mesmo para os demais :wink:

B

O programa pode nunca entrar dentro do for, e todos os returns estão dentro dele. Você deve fazer um fora dele também.

edipokbelo

:shock:
não sabia disso.
acho que é porque eu nunca usei muito esse tipo de return

valeu!

B

Quando você define que um método vai retornar algum valor, você tem que garantir que todas as saídas normais/fluxos de execução retornem um.

Saídas anormais seriam as exceções.

Criado 22 de maio de 2009
Ultima resposta 22 de mai. de 2009
Respostas 4
Participantes 3