English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Neste programa, você aprenderá a calcular a diferença entre dois períodos de tempo em Java.
public class Tempo { int segundos; int minutos; int horas; public Tempo(int horas, int minutos, int segundos) { this.horas = horas; this.minutos = minutos; this.segundos = segundos; } public static void main(String[] args) { Tempo start = new Tempo(12, 34, 55), stop = new Tempo(8, 12, 15), diff; diff = diferenciar(start, stop); System.out.printf("DIFERENÇA DE TEMPO: %d:%d:%d - ", start.horas, start.minutos, start.segundos); System.out.printf("%d:%d:%d ", stop.horas, stop.minutos, stop.segundos); System.out.printf("= %d:%d:%d\n", diff.horas, diff.minutos, diff.segundos); } public static Tempo diferenciar(Tempo start, Tempo stop) { Diferença de Tempo = new Tempo(0, 0, 0); if(stop.seconds > start.seconds){ --start.minutes; start.seconds += 60; } diff.seconds = start.seconds - stop.seconds; if(stop.minutes > start.minutes){ --start.hours; start.minutes += 60; } diff.minutes = start.minutes - stop.minutes; diff.hours = start.hours - stop.hours; return(diff); } }
Quando executado, o programa gera a saída:
DIFERENÇA DE TEMPO: 12:34:55 - 8:12:15 = 4:22:40
No programa acima, criamos uma classe chamada Time com três variáveis membro hours, minutes e seconds. Como o nome sugere, elas armazenam respectivamente hours, minutes e seconds do tempo.
A classe Time possui um construtor que inicializa hours, minutes e seconds.
Criamos também uma função estática difference, que aceita dois parâmetros de tempo e encontra a diferença, retornando como um objeto Time