Ir ao conteúdo
  • Cadastre-se
Vitor Lucas Storck

Código sistema de estacionamento dando erro

Recommended Posts

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 );
     
     
         
    }
    
}

 

Editado por dif
Colocar o código com o botão code e alterar texto que estava todo em maiúsculo

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Vitor Lucas Storck Olá

Não tenho certeza, mas o primeiro bloco de IF do -1  falta o bloco de fechamento { }

e no IF do minuto tente por:

if (minuto > 0) {
    pagamentofinal += fracaohora;
}

PS: ando meio enferrujado em java rsrs

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

up

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça o que o dif recomendou.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu tentei e não deu certo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quando eu fecho o bloco do -1 ele passa a mostrar as horas que eu digitei,dar o valor a pagar(sem somar as horas) e abaixo da mensagem que aparece o -1.Sem título.pngSem título.png

prova.png

Compartilhar este post


Link para o post
Compartilhar em outros sites

@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.

Compartilhar este post


Link para o post
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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Corrija o  condicional primeiro. Se o código mal funciona para uma informação, imagina com várias.

Faça um teste de cada vez. Primeiro teste com tempo menor do que 3, depois maior do que 3.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Math.Pi Só não to entendendo como ficaria o if!!teria que criar mais alguma váriavel?

Compartilhar este post


Link para o post
Compartilhar em outros sites
3 minutos atrás, Vitor Lucas Storck disse:

@Math.Pi Só não to entendendo como ficaria o if!!teria que criar mais alguma váriavel?

 

Não.

Como eu disse antes. O if precisa trabalhar com o tempo e não com o valor hora. Entendeu? "Só trocar"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×