Transformando em tempo! (horas minutos)

É o seguinte presiso colokar meu programa em “função do tempo” eu fiz mas fiz como condição de 0 até 24 presiso por em horsas e minutos!!
explicando melhor xD. eu tenho uma cozinha inteligente!! presiso fazer uma “telinha” para que o cara programe a hora que ele qer q a cafeteira ligue a torradeira ligue!!! mas agora presiso fazer isso para horas, eu fiz uma condição para numeros inteiros do 1 até o 24 e presiso por para programar a hora que ele deseja ligar os obejetos!! vo postar o codigo!!

import java.util.Scanner;

public class principal
{

	private static double time;

	
	public static void main(String[] args) 
	{
		boolean b = true;
		do 
		{
			System.out.print("Digite o horario atual ou 25 para sair: ");
			
			Scanner input = new Scanner(System.in);
			double aux = input.nextDouble();
			while (true) 
			{
				if(aux == 25)
				{
					System.out.println("Você saiu do programa, volte sempre");
					System.exit(0);
					
				}
				if (aux > 24 || aux < 0) {
					System.out.print("Digite o horario novamente");
					aux = input.nextDouble();
				} else
					break;
			}
			time = aux;

			cafeteira cafeteira = new cafeteira();

			cafeteira.getBoolean(time);

			torradeira torradeira = new torradeira();

			torradeira.getBoolean(time);

			// Estados

			System.out.println(cafeteira.getEstado());
			System.out.println(torradeira.getEstado());

		} 
		while (b);
	}

}
public class cafeteira 
{
	
	private static boolean ligado;
	
	public void getBoolean(double time)
	{
		
		if(time >= 11 && time <= 12)
		{
			ligado = true;
		}
		else
			ligado = false;
		
	}
	public String getEstado()
	{
		if(ligado)
			return "Cafeteira Ligada";
		else
			return "Cafeteira Desligada";
	}

}
public class torradeira 
{

	private static boolean ligado;

	public void getBoolean(double time) 
	{

		if (time >= 20 || time >= 4) 
		{
			ligado = true;
		} else
			ligado = false;

	}

	public static boolean isLigado() 
	{
		return ligado;
	}

	public static void setLigado(boolean ligado) 
	{
		torradeira.ligado = ligado;
	}

	public String getEstado() 
	{
		if (ligado)
			return "Torradeira Ligada";
		else
			return "Torradeira Desligada";
	}

}

[code]
public class relogio
{
private int hora, minuto;

       public boolean setHora(int nhora)   
       {  
         
           if(nhora >= 0 && nhora <=23)  
       {  
         
               hora = nhora;  
         
       return true;  
       }  
           else  
         
               return false;  
       }  
         
       public boolean setMinuto(int nminuto)   
       {  
         
           if(nminuto >= 0 && nminuto <=59)  
       {  
         
               minuto = nminuto;  
         
               return true;  
       }  
         
           else  
         
               return false;  
       }  
         
       public int getHora()   
       {  
         
           return hora;  
       }

	public int getMinuto()
	{
		return minuto;
	}
   }[/code]

[b]Presiso ppor isso para horas e minutos a classe relogio ta pronta mais naum to conseguindo fazere isso alguem me da uma ajuda ae!!

desde já obrigadao!!!xD[/b]

de uma olhada na classe java.util.Date, nos métodos after() e before(), na classe Calendar e em SimpleDateFormat

sim sim eu ja fiquei sabendo disso mais ele pega o tempo atual, quando eu colocar para rodar meu programa primeira coisa a fazer eh digitar o horario, pq se naum na hora de apresenta para meu pai “ele me da umas aulas em casa ^^” ele vai ter que ficar esperando dar a hora e vai demora de mais ^^. decupe por naum dizer ali em cima xD

então receba uma String com a data como 10/10/2009 14:55:00 e a partir dessa String vc cria uma variavel do tipo date
exemplo:

try {
			SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss");
			String strData = JOptionPane.showInputDialog("Data (formato: 11/11/11 11:11:11)");
			Date data = sdf.parse(strData);
			System.out.println(data);
		} catch (ParseException e) {
			e.printStackTrace();
		}