Pessoal, estou parado em uma solução. Estou com o seguinte problema, é um alarme que indica quantos minutos faltam para ele despertar.
Ex. 1 35 1 40. Faltam 5 minutos. 2 0 2 20. Faltam 20 minutos. 3 0 4 0. Faltam 60 minutos. E assim por diante.
Tente com a entrada 23 59 0 34 e ele nem responde.
Alguem sabe como resolver? segue o código abaixo.
import java.util.*;
class alarme {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int h1 = 0, m1 = 0, h2 = 0, m2 = 0, difh = 0, difm = 0, min;
while ((h1 = scan.nextInt()) + (m1 = scan.nextInt())
+ (h2 = scan.nextInt()) + (m2 = scan.nextInt()) > 0
&& h1 <= 23 && h2 <= 23 && m1 < 59 && m2 < 59) {
if (h1 > h2) {
difh = (23 - h1) + (h2);
} else {
difh = h2 - h1;
}
if (m1 > m2) {
difm = (60 - m1) + (m2);
if (h1 == h2) {
difh = 23;
}
} else
difm = m2 - m1;
min = difm + (difh * 60);
System.out.println(min);
difm = difh = min = 0;
}
}
}