Jump to content
ac88

duvida com um return num método

Recommended Posts

ac88

Boas noites pessoal, eu tenho o seguinte método:

public String visualizar (int linha1, int coluna1, int linha2, int coluna2){
if (linha1!=linha2){
 for(int i=linha1; i<=linha2; i++){
  return visualizar(i, coluna);
}
}else{
 for(int j=coluna1; j<=coluna2; j++){
  return visualizar(linha1, j);
 }
}
}

quando compilo ele diz "missing return statement"

a minha duvida é , sempre que eu chamo o método ele ou entra no if ou no else e em cada um deles tem um return logo não é necessário ter outro return, acho eu, ou sou eu que estou enganado ?

Obrigado desde já!

Share this post


Link to post
Share on other sites
FilhoDoSol

O problema são os ciclos for, não é o if else.

O compilador não é uma pessoa a olhar para o código. ;)

Tu no contexto do teu programa podes "ter a certeza" que ele vai entrar nos ciclos for (porque sabes como e onde vais chamar este método), mas o compilador não sabe. E como o compilador não sabe, faz uma análise "mais burra" e verifica se o método está correcto para todos os valores possíveis de input (parâmetros do método, neste caso)

Imagina que o método era chamado com estes parâmetros: 0,2,0,1. Ele vai entrar no else mas não entra no ciclo for e é por isto que ele diz que falta o return statement.

Edited by FilhoDoSol
  • Vote 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.