Ajuda com exercicios

18 respostas
N

Gente será que alguem poderia verificar se esta certo este exercicio? To precisando muito!

//1. Crie uma classe abstrata que represente um quadrilátero //e receba como parâmetros do construtor os quatro valores referentes a cada lado.
package modulo10; 


public abstract class Quadrilatero { 
        int lado1,lado2,lado3,lado4; 


        public Quadrilatero (int lado1,int lado2,int lado3,int lado4){ 
                this.lado1 = lado1; 
                this.lado2 = lado2; 
                this.lado3 = lado3; 
                this.lado4 = lado4; 
        } 


}

//Nao acho que esteja correto, espero que outras pessoas postem mais
respostas aqui.
//Vamos dar uma força a quem quer aprender, valews.(no caso eu e
outros).

18 Respostas

N
/*2. Estenda a classe criada no exercício 1, a subclasse deve representar um quadrado e portanto receber como parâmetro um único valor referente aos seus lados.*/
package modulo10; 

public class Quadrado extends Quadrilatero{ 


        public Quadrado(int lado1, int lado2, int lado3, int lado4) { 
                super(lado1, lado2, lado3, lado4); 
                // TODO Auto-generated constructor stub 
        } 


}

//nao sei se esta correto, quem poder corrigir eu agradeço.

N
/*3. Estenda novamente a classe criada no exercício 1, a subclasse deve representar um retângulo e portanto deve receber como parâmetros dois valores diferentes.*/
package modulo10; 

public class Retangulo extends Quadrilatero{ 


        public void Quadrilatero(int lado1, int lado2, int lado3, int lado4) 
{ 
                super(lado1, lado2, lado3, lado4); 
                // TODO Auto-generated constructor stub 
        } 
        int lado1,lado2,lado3; 
        public void Retangulo(int lado1,int lado2,int lado3){ 
                this.lado1 = lado1; 
                this.lado2 = lado2; 
                this.lado3 = lado3; 
        } 


}

//Da um erro, nao sei qual e.....

N

/*4. Crie uma interface denominada FiguraGeometrica,
adicione os métodos calcular
área e calcular perímetro.*/
[/code]package modulo10;

public abstract interface FiguraGeometrica {

public abstract void calcularArea();

public abstract void calcularPerimetro();

}

[code]

N

Gente e este é o ultimo!

/*5. Modifique a classe abstrata criada no exercício 1 de forma que ela implemente a interface FiguraGeométrica.*/
package modulo10; 

public abstract class Quadrilatero implements FiguraGeometrica { 
        int lado1, lado2, lado3, lado4; 


        public Quadrilatero(int lado1, int lado2, int lado3, int lado4) { 
                this.lado1 = lado1; 
                this.lado2 = lado2; 
                this.lado3 = lado3; 
                this.lado4 = lado4; 
        } 


        public void calcularArea(){ 
                //metodo de calcular area... 
        } 


        public void calcularPerimetro(){ 
                //metodo de calcular area... 
        } 
}
N

Pessoal, por favor postem as respostas aqui para que possamos discutir
as soluçoes encontradas, obrigado.

Se alguem puder AJUDAR!

drigo.angelo
nathans:
/*2. Estenda a classe criada no exercício 1, a subclasse deve representar um quadrado e portanto receber como parâmetro um único valor referente aos seus lados.*/
package modulo10; 

public class Quadrado extends Quadrilatero{ 


        public Quadrado(int lado1, int lado2, int lado3, int lado4) { 
                super(lado1, lado2, lado3, lado4); 
                // TODO Auto-generated constructor stub 
        } 


}

//nao sei se esta correto, quem poder corrigir eu agradeço.


Em um quadrado, todos os lados são iguais, então não deve ter quatro valores no construtor...

adriano_si

Hauahuahauhauahauahuahauahuahauahauahuahauahuahauahauahuahauahuahauahauahauahauahauahuahauahauauha

acho que bateu o recorde…

drigo.angelo
nathans:
/*3. Estenda novamente a classe criada no exercício 1, a subclasse deve representar um retângulo e portanto deve receber como parâmetros dois valores diferentes.*/
package modulo10; 

public class Retangulo extends Quadrilatero{ 


        public void Quadrilatero(int lado1, int lado2, int lado3, int lado4) 
{ 
                super(lado1, lado2, lado3, lado4); 
                // TODO Auto-generated constructor stub 
        } 
        int lado1,lado2,lado3; 
        public void Retangulo(int lado1,int lado2,int lado3){ 
                this.lado1 = lado1; 
                this.lado2 = lado2; 
                this.lado3 = lado3; 
        } 


}

//Da um erro, nao sei qual e.....


Voce colocou um construtor de outra classe dentro da classe Retangulo...

drigo.angelo

adriano_si:
Hauahuahauhauahauahuahauahuahauahauahuahauahuahauahauahuahauahuahauahauahauahauahauahuahauahauauha

acho que bateu o recorde…


Concordo 8)
Mas não estamos aqui pra criticar… e já que ele ja fez, veio apenas tirar dúvidas, não vejo mal algum em ajudar…

N

drigo.angelo:
adriano_si:
Hauahuahauhauahauahuahauahuahauahauahuahauahuahauahauahuahauahuahauahauahauahauahauahuahauahauauha

acho que bateu o recorde…


Concordo 8)
Mas não estamos aqui pra criticar… e já que ele ja fez, veio apenas tirar dúvidas, não vejo mal algum em ajudar…

To aflito tenho que entregar isto hj! :?

drigo.angelo
nathans:
/*4. Crie uma interface denominada FiguraGeometrica, adicione os métodos calcular área e calcular perímetro.*/
package modulo10; 

public abstract interface FiguraGeometrica { 


        public abstract void calcularArea(); 


        public abstract void calcularPerimetro(); 

}
Muda ai pra ficar mais facil a visualização.. creio que
public interface FiguraGeometrica {
seria mais correto...
drigo.angelo
nathans:
Gente e este é o ultimo! /*5. Modifique a classe abstrata criada no exercício 1 de forma que ela implemente a interface FiguraGeométrica.*/
package modulo10; 

public abstract class Quadrilatero implements FiguraGeometrica { 
        int lado1, lado2, lado3, lado4; 


        public Quadrilatero(int lado1, int lado2, int lado3, int lado4) { 
                this.lado1 = lado1; 
                this.lado2 = lado2; 
                this.lado3 = lado3; 
                this.lado4 = lado4; 
        } 


        public void calcularArea(){ 
                //metodo de calcular area... 
        } 


        public void calcularPerimetro(){ 
                //metodo de calcular area... 
        } 
}
Dica: estude mais sobre classes abstratas e herança, tem bastante coisa na apostila fj11 da caelum, so pesquisar no google... tira a implementação dos métodos da classe abstrata (por isso que ela é abstrata...), fica +- assim:
public void calcularArea();
isso mesmo sem {} e com ;

a implementação você coloca nas classes que extendem a classe abstrata (vai colocar os métodos na classe quadrado e na classe retângulo)
caso não saiba como calcular area/perimetro dessas formas geometricas, pesquise no google, com certeza tem!

no demais não encontrei nenhum erro muito significativo... (fora os nomes dos lados da classe abstrata que eu colocaria como direito/esquerdo/superior/inferior, fica mais facil...)

drigo.angelo

A classe retangulo também esta recebendo os 4 lados…
[size=18] leia o enunciado…[/size]

Espero ter ajudado…
mas agora ja to saindo

[]'s

N

drigo.angelo:
A classe retangulo também esta recebendo os 4 lados…
[size=18] leia o enunciado…[/size]

Espero ter ajudado…
mas agora ja to saindo

[]'s

Valeu pelas dicas, vou tentar arrumar aqui!

N

Alguem mais poderia dar alguma dica?
Ou mostrar alguma alteração?

pmlm

Se o quadrado só recebe um lado, o seu construtor deve ser:

public Quadrado(int lado) {   
    //consegues agora pensar como será aqui?
    super(......);
}

O mesmo para o Retangulo:

public Retangulo(int lado1, int lado2) { //consegues agora pensar como será aqui? super(......); }

drigo.angelo:
tira a implementação dos métodos da classe abstrata (por isso que ela é abstrata…), fica ± assim:

public void calcularArea();

isso mesmo sem {} e com ;


Porquê? Ela é abstrata mas pode sim ter a implementação do calculo do perímetro e da área, que será igual para todos os quadriláteros.

pmlm

Correcção: O perímetro é igual para todos os quadriláteros, a área não.

N

Valeu pela ajuda!

Criado 29 de dezembro de 2010
Ultima resposta 29 de dez. de 2010
Respostas 18
Participantes 4