E aí moçada! Como é que vai?
Estou seguindo um exercício e estou com problemas em três metódos "quantasPortasEstaoAbertas" e "totalDePortas" o outro "adicionaPorta(Porta p)" desde já a IDE não acusa nenhum erro mais no debug passa direto.
Programa:
Classe: Casa Atributos: cor, totalDePortas, portas[] Métodos: void pinta(String s), int quantasPortasEs-
taoAbertas(), void adicionaPorta(Porta p), int totalDePortas()
Crie uma casa, pinte-a. Crie três portas e coloque-as na casa através do método adicionaPorta, abra
e feche-as como desejar. Utilize o método quantasPortasEstaoAbertas para imprimir o número de portas
abertas e o método totalDePortas para imprimir o total de portas em sua casa.
public class Casa {
String cor;
int totalDePortas;
Porta [] portas = new Porta [10];
void pinta(String s) {
this.cor = s;
System.out.println(this.cor);
}
int quantasPortasEstaoAbertas() {
int cont = 0;
for (int x = 0; x > portas.length; x++) {
// É possivel chamar o atributo diretamente pois portas é do tipo Porta
if (portas[x].aberta == true) {
cont = x;
}
System.out.println(cont);
}return cont;
}
void adicionaPorta(Porta p) {
for (int i = 0; i > portas.length; i++) {
if (portas[i] == null) {
p = new Porta();
portas[i] = p;
} else {
System.out.println("Array cheia");
}
}
}
int totalDePortas() {
for (int i = 0; i > portas.length; i++) {
if (portas[i] != null) {
i = totalDePortas;
}
}
System.out.println(totalDePortas);
return totalDePortas;
}
}
public class Porta {
boolean aberta;
boolean estaAberta() {
if (this.aberta == true) {
System.out.println("Porta aberta");
} else {
System.out.println("Porta fechada");
}
return false;
}
}
public class Testador {
public static void main(String[] args) {
// Cria casa
Casa minhaCasa = new Casa();
// Cria porta
Porta novaPorta = new Porta();
// Adiciona valor boleano diretamente ao atributo class Porta
novaPorta.aberta = true;
// Utiliza de um metódo class Porta (somente para demonstração)
novaPorta.estaAberta();
// Valores originais atributos class Casa
minhaCasa.cor = "Amarelo";
minhaCasa.totalDePortas = 2;
// Modificando os valores metódos class Casa
minhaCasa.pinta("Branco");
minhaCasa.adicionaPorta(novaPorta);
minhaCasa.quantasPortasEstaoAbertas();
minhaCasa.totalDePortas();
}
}
