Solução de problema (JAVA)

3 respostas
P

Boa tarde,

Creio que esteja no lugar certo para resolver meu problema, preciso de uma solução para o problema abaixo, creio a cabeça e não saio nada, gostaria de poder contar com a ajuda de um abençoado por aqui rs…

  1. As empresas de telefonia adotam um sistema de cobrança cuja valor do minuto de uma ligação varia de acordo o horário, conforme a tabela abaixo:
    Faixa de Horário Percentual de Desconto:

De 0h até 9h 50% de desconto no valor do minuto
De 9h01 até 18h 0% de desconto no valor do minuto
De 18h01 até 21h 30% de desconto no valor do minuto
De 21h01 até 23h59 40% de desconto no valor do minuto

Faça um programa que receba o horário inicial (hora e minuto) e o horário final (hora e minuto) e o valor normalmente cobrado pelo minuto de uma ligação. De acordo com os dados acima aplique corretamente os descontos e mostre o valor a ser pago pela ligação.

3 Respostas

Ruttmann

Já começou?

Posta aqui o que você já tem que a gente tira suas dúvidas! :wink:

P

To apanhando demais, não estou conseguindo pegar o formato da horas, tipo 23:30, pra fazer os calculos de horas e minutos, o que fiz está abaixo, sou iniciante, e não estou conseguindo resolver.

package cropo;

import javax.swing.JOptionPane;

public class Lista2Ex7 {

public static void main(String[] args) {
   
   double horarioInicial, horarioFinal, valorMinutoLigacao, desc50Porcento, HorasFaladas; 
   String aux;
   
   aux = JOptionPane.showInputDialog("Digite o horário inicial da ligação (Digite o horário separa por vírgula Ex: 19.24): ");
   horarioInicial = Double.parseDouble(aux);
   
   aux = JOptionPane.showInputDialog("Digite o horário final da ligação (Digite o horário separa por vírgula Ex: 19.24):: ");
   horarioFinal = Double.parseDouble(aux);
   
   aux = JOptionPane.showInputDialog("Digite o valor do minuto da ligação: ");
   valorMinutoLigacao = Double.parseDouble(aux);
   
   desc50Porcento = (valorMinutoLigacao * 0.5);
   HorasFaladas = horarioInicial - horarioFinal;
   
   JOptionPane.showConfirmDialog(null, "As horas faladas foram de: " + HorasFaladas + " horas !");
   
   // De 0h até 9h 50% de desconto no valor do minuto
   
   if (horarioInicial >= 00 && horarioFinal <= 9 ) {
       
       valorMinutoLigacao = (HorasFaladas * 60) * desc50Porcento ;
       
       
       
       JOptionPane.showConfirmDialog(null, "O valor a ser pago pela ligação é de: " + valorMinutoLigacao);
       
 }
   
   
}

}

Ruttmann

Uma boa dica pra trabalhar com horas é a classe Calendar.

Aqui tem umas dicas: http://javafree.uol.com.br/topic-886619-Trabalhando-com-horas.html

Veja que ali ele captura a hora do sistema pra setar no objeto. Você pode usar o método set pra setar a hora que o que o usuário passar e depois capturar o valor pra calcular do mesmo jeito que é feito ali.

Lembrando que para minutos você tem que fazer a mesma coisa. Você passa primeiro hora e depois minuto, ou vice-versa.

Lá tem um link pra documentação dessa classe também. Ela é bem fácil de lidar.

:wink:

Criado 3 de dezembro de 2013
Ultima resposta 3 de dez. de 2013
Respostas 3
Participantes 2