Pessoal, eu estava fazendo um programa para calcular o tempo estimado de download, e funcionou perfeitamente. Ele exibia o tempo através de um “System.out.print”, mas ao tentar exibir a mesma mensagem no JOptionPane simplesmente não acontece nada.
Código do Programa
package exercicios.aula13;
import java.text.DecimalFormat;
import java.util.Scanner;
import javax.swing.JOptionPane;
public class exercicio14 {
public static void main(String[] args) {
DecimalFormat seg = new DecimalFormat("#,##0.00s");
Scanner scan = new Scanner(System.in);
double tamanho,velocidade,tempo_seg;
System.out.print("Digite o tamanho do arquivo em MB: ");
tamanho = scan.nextDouble();
System.out.print("Digite a velocidade do link em Mbps: ");
velocidade = scan.nextDouble();
tempo_seg = tamanho/velocidade;
String mensagem = tempo.format(tempo_seg);
JOptionPane.showMessageDialog(null,mensagem, "Tempo Estimado" , JOptionPane.INFORMATION_MESSAGE);
}
}
E o código da classe que faz a formatação do tempo em (dias,horas,minutos,segundos).
package exercicios.aula13;
import java.text.DecimalFormat;
public class tempo {
public static String format(double tempo) {
DecimalFormat numero = new DecimalFormat("0.");
String mensagem;
int dias,horas,minutos,segundos;
segundos = (int) tempo;
minutos = (int) Math.floor(segundos/60);
segundos = segundos%60;
horas = (int) Math.floor(minutos/60);
minutos %= 60;
dias = (int)Math.floor(horas/24);
horas %= 24;
mensagem = "Tempo Estimado: " + dias + " dia(s), " + horas + " hora(s), " + minutos + " minuto(s) e " + segundos + " segundo(s)";
return mensagem;
}
}