Ir ao conteúdo
  • Cadastre-se

Código sistema de estacionamento dando erro


Posts recomendados

BOA NOITE!!!

 

Estou com duvida em um exercício que tenho que fazer sobre um sistema de estacionamento.Não esta acumulando o valor e nem somando quando digitamos!E para fazer a soma de todas as horas é só digitar -1.
Alguém poderia me ajudar?Lembrando que estou fazendo no netbeans.(se quiserem envio a foto do exercício,pois não estou conseguindo fazer o upload da foto)

 


 

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package estacionamento;
import java.util.Scanner;
/**
 *
 * @author Alunos
 */
public class Estacionamento {
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
       
     Scanner inputScanner = new Scanner(System.in);
     
     double valorhora = 8.00;
     double fracaohora = 3.50;
     double pagamentofinal =8.00;
     double hora= 0;
     double minuto = 1;
    
    
     
     System.out.println("Digite as horas que o cliente permaneceu no estacionamento: " );
     
     double tempo =  inputScanner.nextDouble();
     
     if(tempo != -1)
     
     
     if(valorhora <=3 && hora>0){
        pagamentofinal = 8;
        }
     else if (valorhora >3){
         pagamentofinal = valorhora +(fracaohora *(tempo - 3));
         }
     if(minuto > 0){
         pagamentofinal = fracaohora ;
         }
     
     System.out.println("Valor a ser pago no estacionamento: " + pagamentofinal );
     
     
         
    }
    
}

 

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

@Vitor Lucas Storck

 

O programa está fazendo o que você pediu.

Ele cai no segundo IF do condicional valorhora e executa o cálculo que você pediu:

 

pagamentofinal = valorhora +(fracaohora *(tempo - 3));

pagamentofinal = 8 +(3.5 *(4 - 3));

pagamentofinal = 8 +(3.5 * 1));

pagamentofinal = 8 + 3.5

pagamentofinal = 11.5

 

 

O que você errou é que não deve fazer condicional com base no valor hora, mas sim com base no tempo de permanência.

O valor hora será sempre o mesmo, independente das horas informadas.

 

Corrija sua fórmula também. Como você vai ler o tempo? Precisaria que fossem informados hora e minuto separadamente ou então com minutos em decimal. Ex: 4.5h = 4 horas e meia.

Nesse segundo caso, o uso de uma variável para minuto é inútil.

Link para o comentário
Compartilhar em outros sites

@Math.Pi Em partes!!!Se eu digito só uma hora ele faz a conta direito!!Mais se digito mais horas,ele não acumula as horas e não faz as somas dessas horas!!!

@Math.Pi Essa conta que você fez faz corrreto!!Mais se eu digitar outra hora,além dessa 4 horas que você digitou ele só da o resultado de 11.50.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...