Jump to content

[Resolvido] Definir tamanho do Array depois de criado


mateusb

Recommended Posts

Boa tarde pessoal :-). Estou aprendendo java com a apostila da Caelum, e me veio um problema que não consegui encontrar uma solução pelo google. Tenho o seguinte código:

boolean[] portas;
int totalDePortas(int t) {
 portas = new boolean[t];
 return portas.length;
}

Eu preciso de um void que defina o tamanho da array de acordo com o argumento. Criar a array dentro do void daria certo, mas ela deixaria de existir depois da chave. O que fazer?

Link to comment
Share on other sites

Me expressei errado, erro meu. O meu problema não está nessa parte do código. É que eu preciso saber quantas (e quais) partes do array são true. O código que criei é esse:

int portasAbertas() {
int portasAbertas = 0;

for (int i = 0; i>portas.length;i++){
if (portas[i]=true){
portasAbertas++;
}
}

return portasAbertas;
}

Mas ele sempre retorna 0, não sei por que.

Caso precise de mais alguma coisa no código, aqui está ele na íntegra:

public class Casa {
String cor;
int totalDePortas;
boolean[] portas;
int totalDePortas(int t) {
portas = new boolean[t];
return portas.length;
}
void pinta(String s) {
cor = s;
}

void adicionaPorta(int posicao, boolean a) {
portas[posicao] = a;
}
int portasAbertas() {
int portasAbertas = 0;

for (int i = 0; i>portas.length;i++){
if (portas[i]=true){
portasAbertas++;
}
}

return portasAbertas;
}
}

public class FixandoConhecimento {
public static void main(String[] args) {
Casa c1 = new Casa();
System.out.println(c1.totalDePortas(2));
c1.portas[0]=false;
c1.portas[1]=true;
System.out.println(c1.portasAbertas());
}
}
Link to comment
Share on other sites

Opa, me deu até vergonha cometer um erro desse (fazer o quê? Comecei com java 72 horas atrás)... Percebi que tabém errei na direção do ">". No caso, teria que ser assim:

for (int i = 0; i<portas.length;i++){
 if (portas[i]==true){ // <--------------------------------------
   portasAbertas++;
 }
}

Muito obrigado pela ajuda. HappyHippyHippo! Quando eu aprender java eu volto aqui no fórum pra ajudar outros iniciantes como eu. Obrigado pela ajuda novamente, e boa noite!.

Link to comment
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.