Pessoal estou com algumas duvidas no meu segundo Exercício.
Problema.
A partir do diagrama de classe abaixo, implemente, em código Java, a classe que represente o comportamento explicitado:
// Meu diagrama
Automovel
quilometragem: double
combustivel: double
abastecer (litros)
trafegar (distancia, litros)
combustivelNoTanque()
quilometragemCarro()
ATRIBUTOS:
quilometragem: representa quantos km ?rodados? tem o automóvel
combustivel: representa quantos litros de combustível tem no tanque do automóvel
MÉTODOS:
abastecer (litros): acrescenta X litros ao tanque do automóvel
trafegar (distancia, litros): simula uma viagem, acrescentando X (distancia) à quilometragem do automóvel e consumindo X litros do tanque
combustivelNoTanque(): retorna a quantidade de combustível presente no automóvel
quilometragemCarro(): retorna a quilometragem do automóvel
- Crie uma classe de teste (Principal), com o método main, e simule algumas viagens
Código
public class Automovel
{
// Atributos
double quilometragem;
double combustivel;
// métodos
double abastecer(double litros)
{
return combustivel += litros;
} // fim do método combustivel
double trafegar(double distancia, double litros)
{
quilometragem += distancia; // Acrescenta (x) a quilometragem
return quilometragem / abastecer(litros); // Retorna quantos quilometros por lito foi gasto
} // fim do método trafegar
void combustivelNoTanque(){
double tanque = trafegar(quilometragem, combustivel); // Recebe quantos km foi gasto
System.out.printf("Você tem %.2f litros\n", (tanque - abastecer(combustivel))); // retorna quanto tem no tanque pois total de Combustivel
// - o total quilometro
} // fim do método combustivelNoTanque
void quilometragemCarro() {
System.out.printf("Seu carro tem um total %.2f km já rodados", (quilometragem + trafegar(quilometragem, combustivel)) );
} // fim do metodo quilometragemCarro
}
Classe Principal
import java.util.Scanner;
public class Principal
{
public static void main(String[] args)
{
// Criando um obejto
Automovel carro = new Automovel();
// Cria um Scaner para obeter a entrada aparti de uma tela de comandos
Scanner input = new Scanner( System.in );
//Ler informação do usuario
System.out.print(" Quanto Litros você deseja abaster?: ");
carro.combustivel = input.nextDouble(); // Armazenando o valor digitado na variavel criada
System.out.print(" Informe qual será a distancia a ser pecorrida?: ");
carro.quilometragem = input.nextDouble(); // Armazenando o valor digitado na variavel criada
//Passando os valores para nossa classe
carro.abastecer(carro.combustivel); // Passando o valor digitado para meus atributos
carro.abastecer(carro.quilometragem); // Passando o valor digitado para meus atributos
//Exibindo os dados
carro.combustivelNoTanque();
carro.quilometragemCarro();
} // fim do método main
} // fim da class Principal
Está rodando blza, o problema e que o resultado está errado da um valor negativo. Alguém pode mostra onde está o meu erro?

