renato473 0 Denunciar post Postado Maio 15, 2012 Imagine que você foi contrado para elaborar um pequeno sistema que calcula áreas de algumas figuras geómetricas utilizadas por uma empresa. no momento a empresa precisa calcular areas de apenas duas estruturas geometricas : quadrado e retangulo.no futuro a empresa ira trabalhar com novas figuras . como por exemplo o circulo dessa forma o sistema deve estar preparado para tais atualizações sem que haja muitas modificações no codigo fonte crie uma classe GerenciaCalculo que devera chamar o metodo calcular area de cada estrutura geometricas e exibir o resultado do calculo para o usuario . crie uma classe de teste a aplicação. ============================================================================================== crie um pequeno aplicativo de venda de carros que contemple , atualmente a venda de dois tipos de carros : carros off-road , e carros sedans , e sabido que a loja quer trabalhar com outros tipos de carros no futuro. Um carro possui as seguintes propriedades : ano , marca , modelo , km , frete , custo de fabrica , e margem de lucro . As operações basicas realizadas pela loja são de calcular o custo feito levando em consideração o custo de fabrica e margen de lucro . As operações basicas realizadas pela loja são de calcular o custo do carro e calcular o frete do carro. o calculo do custo do carro independe do tipo de carro e e feito levando em consideração o custo de fabrica + a porcetagem da margem de lucro sobre o custo de fabrica . ja o calculo do frete depende do tipo de carro os carros off-road terão alem do frete sobre o custo original do carro a aplicação de uma taxa de 3% de agio , ja os sedans possuem apenas a aplicação do frete sobre os custos originais do veiculo . e fundamental que exista algo (uma classe) que registre os carros instanciados essa atividade de registro incrementara o total de carros da loja e mostrara calculo do frete do carro . crie uma classe de teste que teste o que foi desenvolvido Obs : não e inteção da loja vender no futuro outros tipos de veiculos , como tratores , motos , entre outros Compartilhar este post Link para o post Compartilhar em outros sites
renato473 0 Denunciar post Postado Maio 16, 2012 consiguir fazer mais esta com erros e não dizer bem o que eh. public class Retangulo implements AreaCalculavel{ double ladoMenor; double ladoMaior; public Retangulo(double menor, double maior){ this.ladoMaior = maior; this.ladoMenor = menor; } @Override public double area() { double areaRetangulo = this.ladoMaior*this.ladoMenor; System.out.println("Area do Retangulo: "+areaRetangulo); return areaRetangulo; } } public class Quadrado implements AreaCalculavel{ double lado; public Quadrado(double lado){ this.lado = lado; } public double area() { double areaQuadrado = this.lado*this.lado; System.out.println("Area do quadrado: "+areaQuadrado); return areaQuadrado; } } public class GerenciaCalculo { public void gerenciaArea(AreaCalculavel a){ a.area(); } } public interface AreaCalculavel { double area(); } public interface AreaCalculavel_ { } Compartilhar este post Link para o post Compartilhar em outros sites
Vergil 15 Denunciar post Postado Maio 17, 2012 Você pode ter uma interface com um método de cálculo que possa ser implementada pelas classes que farão o cálculo. Exemplo: public interface ICalculoArea { public abstract double calculaArea(); } public class Quadrado implements ICalculoArea { public double calculaArea() { // Seu cálculo aqui. } public class Retangulo implements ICalculoArea { public double calculaArea() { // Seu cálculo aqui. } public class Circulo implements ICalculoArea { public double calculaArea() { // Seu cálculo aqui. } Compartilhar este post Link para o post Compartilhar em outros sites
renato473 0 Denunciar post Postado Maio 21, 2012 public abstract class Carro { protected int ano; protected String marca; protected String modelo; protected double km; protected double margemLucro; protected double custoDeFabrica; protected double freteDoCarro; public Carro(int ano, String marca, String modelo, double km, double margemLucro, double custoDeFabrica, double freteDoCarro) { this.ano = ano; this.marca = marca; this.modelo = modelo; this.km = km; this.margemLucro = margemLucro; this.custoDeFabrica = custoDeFabrica; this.freteDoCarro = freteDoCarro; } protected double custoDoCarro(){ return this.custoDeFabrica + (margemLucro*custoDeFabrica); } abstract double custoFreteDoCarro(); } public class OffRoad extends Carro{ public OffRoad(int ano, String marca, String modelo, double km, double margemLucro, double custoDeFabrica, double freteDoCarro) { super(ano, marca, modelo, km, margemLucro, custoDeFabrica, freteDoCarro); // TODO Auto-generated constructor stub } double custoFreteDoCarro() { return freteDoCarro+(custoDeFabrica*0.03); } } public class RegistraCarro { static int numerodeCarros = 0; static int totalFrete = 0; public void registro(Carro c){ this.numerodeCarros+=1; this.totalFrete+=c.custoFreteDoCarro(); } public static int getNumerodeCarros() { return numerodeCarros; } public static int getTotalFrete() { return totalFrete; } } public class Sedan extends Carro { public Sedan(int ano, String marca, String modelo, double km, double margemLucro, double custoDeFabrica, double freteDoCarro) { super(ano, marca, modelo, km, margemLucro, custoDeFabrica, freteDoCarro); // TODO Auto-generated constructor stub } double custoFreteDoCarro() { return freteDoCarro+(freteDoCarro/custoDeFabrica); } } public class CarroTest { public static void main(String[] args) { //int ano, String marca, String modelo, double km,double margemLucro, double custoDeFabrica, double freteDoCarro RegistraCarro registroLoja = new RegistraCarro(); Sedan c1 = new Sedan(2012, "fiat", "uno", 0,0.1, 20000, 200); OffRoad c2 = new OffRoad(2010, "Ford", "s10", 0, 0.1, 100000, 1000); System.out.println("Custo com frete: "+c2.custoFreteDoCarro()); registroLoja.registro(c2); System.out.println("Custo com frete: "+c1.custoFreteDoCarro()); registroLoja.registro(c1); System.out.println("Nunero de Carros da loja: "+registroLoja.getNumerodeCarros()); System.out.println("Custo de frete da loja: "+registroLoja.getTotalFrete()); } } Compartilhar este post Link para o post Compartilhar em outros sites