Na assinatura do metodo você indica que irá passar um argumento do tipo inteiro e não está passando. Ou define o contador dentro do metodo ou passa um contador para ele.
Obs: letra inicial do método nas convenções do Java é minuscula.
Abraços
williamdasflores
Celso,
Você fez uma observação…se refere ao método “PortasAbertas”???
faeldix
cara vc criou um “procedure” assim eu conseguiria rs… tranquilo, pois ele nao retorna valor.
mas agora ele eu queria fazer isso utilizando um metodo do tipo inteirinho (uma funcao propriamente dita).
celso.martins
williamdasflores:
Celso,
Você fez uma observação…se refere ao método “PortasAbertas”???
positivo
faeldix
celso.martins:
Na assinatura do metodo você indica que irá passar um argumento do tipo inteiro e não está passando. Ou define o contador dentro do metodo ou passa um contador para ele.
Obs: letra inicial do método nas convenções do Java é minuscula.
cara vc criou um “procedure” assim eu conseguiria rs… tranquilo, pois ele nao retorna valor.
mas agora ele eu queria fazer isso utilizando um metodo do tipo inteirinho (uma funcao propriamente dita).
The method portasAbertas(int) in the type Casa is not applicable for the arguments ()
faeldix
cara vc criou um “procedure” assim eu conseguiria rs… tranquilo, pois ele nao retorna valor.
mas agora ele eu queria fazer isso utilizando um metodo do tipo inteirinho (uma funcao propriamente dita).
The method portasAbertas(int) in the type Casa is not applicable for the arguments ()
eu queria entender qual é a “engenharia” entao pra chamar o metodo inteiro ;
pq se eu fazer o seguinte
c1.PortasAbertas(0);
ele compila… mas vai me devolver zero… (oq eu acho ne… nao e o certo… pois ja declarei 3 portas abertas…
deveria me devolver “3”;
pmlm
Problema 1:
Não estás a comparar correctamente. Para comparar tens de usar ==
if(this.Porta1==true){cont+=cont; }
...
Como Porta1 já é um boolean, podes fazer simplesmente:
if(this.Porta1){cont+=cont; }
...
Problema 2:
Estás a somar cont com ele próprio, se é 0, continua 0.
Se encontras uma porta aberta, deves somar 1.
if(this.Porta1){cont+=1; }
...
Ou simplesmente:
if(this.Porta1){cont++; }
...
Problema 3:
O teu método não precisa de receber um int como parâmetro. Deve ser simplesmente int PortasAbertas(){…
A tua variável cont deve ser criada dentro do método
Então você deve passar o valor 0, para o metódo PortasAbertas, e no metódo PortasAbertas, trocar onde você faz a soma:
cont+=cont;
da maneira acima, você pega o valor de cont que é 0 é soma com ele mesmo que é 0, resultado sempre vai ser 0.
se você colocar:
cont+=1;
será sempre soma ao valor de cont o valor 1.
espero ter ajudado.
faeldix
pmlm:
Problema 1:
Não estás a comparar correctamente. Para comparar tens de usar ==
if(this.Porta1==true){cont+=cont; }
...
Como Porta1 já é um boolean, podes fazer simplesmente:
if(this.Porta1){cont+=cont; }
...
Problema 2:
Estás a somar cont com ele próprio, se é 0, continua 0.
Se encontras uma porta aberta, deves somar 1.
if(this.Porta1){cont+=1; }
...
Ou simplesmente:
if(this.Porta1){cont++; }
...
Problema 3:
O teu método não precisa de receber um int como parâmetro. Deve ser simplesmente int PortasAbertas(){...
A tua variável cont deve ser criada dentro do método
public static void main(String [] args) {
Teste t1 = new Teste();
t1.CorDaCasa = "branca";
t1.pinta("Azul");
t1.AbrePorta1();
t1.AbrePorta2();
t1.AbrePorta3();
t1.FechaPorta1();
t1.portasAbertas(0);
}
[/quote]
ow cara vlw… eu ja fiz… exatamente isso que vc acabou de fazer.
vlw pela ajuda.
drigo.angelo
faeldix:
pmlm:
Problema 1:
Não estás a comparar correctamente. Para comparar tens de usar ==
if(this.Porta1==true){cont+=cont; }
...
Como Porta1 já é um boolean, podes fazer simplesmente:
if(this.Porta1){cont+=cont; }
...
Problema 2:
Estás a somar cont com ele próprio, se é 0, continua 0.
Se encontras uma porta aberta, deves somar 1.
if(this.Porta1){cont+=1; }
...
Ou simplesmente:
if(this.Porta1){cont++; }
...
Problema 3:
O teu método não precisa de receber um int como parâmetro. Deve ser simplesmente int PortasAbertas(){...
A tua variável cont deve ser criada dentro do método
certo.. eu entendi..
so que agora eu sou chato rs.. se eu quiser chamar um metodo inteiro?
como eu procederia?
Cara, só olhar esse código aí, o método portasAbertas() retorna um valor inteiro! entende? int portasAbertas(){ ...
o int ali indica o tipo de retorno, que é inteiro xD
se você quiser chamar esse método de outras classes, pode colocar ele como public, daí ele fica assim:
public int portasAbertas(){
...
}
sendo que public significa que pode ser chamado por outra classe, int é o tipo de retorno e portasAbertas é o nome do método. Repare também que ele não tem parâmetros, o motivo disso o faeldix explicou ai em cima :D
Atente também ao padrão java que nomes de variáveis e de métodos começam com a letra minúscula :P