Я пытаюсь воспроизвести звуковой клип, когда мой будильник отключается, но проблема в том, что время для будильника, которое я запрашиваю у пользователя, как ввод, является целым числом, и я показываю часы на экране, пропуская текущее времясистемы.Таким образом, система сохраняет текущее время системы в переменной и меняет его каждую минуту.Что я хочу сделать, так это то, что когда я сохраняю текущее время в минутах и часах, оно сравнивает его со значением консоли, т.е. с приращением на моих собственных условиях, а не с собственным временем системы:
import java.util.Scanner;
import java.io.File;
import java.io.IOException;
import java.util.Scanner;
import java.util.Calendar;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.UnsupportedAudioFileException;
import java.time.LocalDateTime;
// java new implentation of (see tester code) much better
public class main
{
static Scanner scanner = new Scanner(System.in);
public static int h,m;
public static void main(String a[]) throws InterruptedException,UnsupportedAudioFileException,IOException,LineUnavailableException
{
// init
Calendar cal = Calendar.getInstance();
int hour = cal.get(Calendar.HOUR_OF_DAY);
int minute = cal.get(Calendar.MINUTE);
//clockdisplay simply keeps it in 12 hour format
ClockDisplay clock = new ClockDisplay(hour,minute );
System.out.println("Set Alarm!!");
System.out.println("Please enter hours!! ");
h=scanner.nextInt();
System.out.println("Please enter minutes!!");
m = scanner.nextInt();
do{
System.out.print("\r" + clock.getTime());
// -=-=-=-= waqfa -=--=-=-=
Thread.sleep(1000);
// -=-=-=-= waqfa ends -=-=
// forward
if(LocalDateTime.now().getHour()==h && LocalDateTime.now().getMinute() == m)
{
SimpleAudioPlayer audioPlayer = new SimpleAudioPlayer();
audioPlayer.play();
System.out.println("Alarm ringing");
break;
}
clock.timeTick();
}while(true); // do while ends
}
}