Informática, perguntado por obrfelipefj, 1 ano atrás

Em java por favor  !!! Implemente uma classe chamada Carro com as seguintes propriedades:

a. Um veículo tem um certo consumo de combustível (medidos em km / litro) e uma certa quantidade de combustível
no tanque.
b. O consumo é especificado no construtor e o nível de combustível inicial é 0.
c. Forneça um método andar( ) que simule o ato de dirigir o veículo por uma certa distância, reduzindo o nível de
combustível no tanque de gasolina.
d. Forneça um método obterGasolina( ), que retorna o nível atual de combustível.
e. Forneça um método adicionarGasolina( ), para abastecer o tanque. Exemplo de uso:
meuFusca = Carro(15); # 15 quilômetros por litro de combustível.
meuFusca.adicionarGasolina(20); # abastece com 20 litros de combustível.
meuFusca.andar(100); # anda 100 quilômetros.
meuFusca.obterGasolina() # Imprime o combustível que resta no tanque.

Soluções para a tarefa

Respondido por webfelipemaia
4
Preliminares


Antes de implementar a classe, devemos pensar no problema. O exercício trabalha com:

- consumo médio km/l
- o consumo após percorrer certa distância

Não vou disponibilizar a classe pronta, uma vez que se você não tentar fazer não irá aprender. Mas, vou dar os passos e indicar como montar a classe.


Um exemplo real.


Considere um veículo que faz 10 km/l. A partir disso, sabemos que o consumo médio (Cm) é a razão entre a distância percorrida (d) e o volume de litros utilizados (l). Assim, cm = d/l. Se eu quiser saber quantos litros foram gastos, basta fazer l = d/cm.

O veículo foi abastecido com 20 litros de combustível.
O veículo percorreu 60 km.
O veículo consumiu 60/10 = 6 litros
O veículo possui 20 - 6 = 14 litros no tanque.

A partir daí, vamos montar a classe Java que implementa os itens pedidos no exercício.


Classe Java


1. Abra seu IDE e crie uma classe chamada Carro. Marque a opção para já implementar o método main(). Vamos usá-lo para testar a classe.

2. A estrutura da minha classe tem implementado o construtor default. Você não precisa fazer isso, se quiser.

2. (a) consumo e quantidade de combustível
    
     Declare as seguintes variáveis :  
      public class Carro {

            private Double consumo;
            private Double combustivel;
 
            Carro() {
             }
         ...


     (b)  consumo no construtor e combustível inicial igual a zero.
           Sobrescreva o construtor assim:
     
       ...

       Carro(Double consumo) {
         this.consumo = consumo;
         this.combustivel = 0.0
       }

       ...

     (c) método andar() reduz o combustível após percorrer certa distância
  
      ...
     
      public void andar(Double km) {
         consumo = (km/this.consumo);
         this.combustivel -= consumo;
      }

      ...
    
    (d) obterGasolina() retorna o nível de combustível.
         Aqui eu há uma incoerência pois a variável que recebe os valores para          combustíveis tem o nome de "combustivel". Então, o nome do método            deveria ser obterCombustivel. Prosseguindo...
  
    ...
    
    public Double obterGasolina() {
         return combustivel;
    }
 
    ...
    
    (e) adicionarGasolina() método para abastecer
          Considere a mesma incoerência do item anterior.
      ...

      public void adicionarGasolina(Double combustivel) {
         this.combustivel += combustivel;
      }

      ...


Testando a classe


3. Usando o método main() na própria classe. Este é o código usado para o teste
      
      ...
      
      public static void main(String[] args) {
         Carro c = new Carro(10.);          
         System.out.println("combustível: " + c.obterGasolina() );  
         System.out.println("consumo: " + c.consumo );          
         c.adicionarGasolina(20.);          
         System.out.println("combustível: " + c.obterGasolina() );          
         c.andar(60.);          
         System.out.println("Andou 60km...");          
         System.out.println("combustível: " + c.obterGasolina() );

      
      ...

 4. A saída
  
 Veja no arquivo anexo.






Anexos:

obrfelipefj: Muito Obrigado !!!!!!
Perguntas interessantes