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…
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.
Posta aqui o que você já tem que a gente tira suas dúvidas!
P
pdiacopulos
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 {
publicstaticvoidmain(String[]args){doublehorarioInicial,horarioFinal,valorMinutoLigacao,desc50Porcento,HorasFaladas;Stringaux;aux=JOptionPane.showInputDialog("Digiteohorárioinicialdaligação(DigiteohorárioseparaporvírgulaEx:19.24):"); horarioInicial = Double.parseDouble(aux); aux = JOptionPane.showInputDialog("Digiteohoráriofinaldaligação(DigiteohorárioseparaporvírgulaEx:19.24)::"); horarioFinal = Double.parseDouble(aux); aux = JOptionPane.showInputDialog("Digiteovalordominutodaligação:"); valorMinutoLigacao = Double.parseDouble(aux); desc50Porcento = (valorMinutoLigacao * 0.5); HorasFaladas = horarioInicial - horarioFinal; JOptionPane.showConfirmDialog(null, "Ashorasfaladasforamde:" + 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, "Ovaloraserpagopelaligaçãoéde:"+valorMinutoLigacao);}}
}
Ruttmann
Uma boa dica pra trabalhar com horas é a classe Calendar.
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.