Friday 25 October 2013

Time Displayed In Words

import java.io.*;
class Time
{
int h,m;String hh,mm;
void Input()throws IOException
{
BufferedReader x=new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter a time in format hh,mm");
String t=x.readLine();t=t+" ";
hh=t.substring(0,t.indexOf(","));
mm=t.substring(t.indexOf(",")+1,t.indexOf(" "));
h=Integer.parseInt(hh);m=Integer.parseInt(mm);
}
String NumberInWord(int n)
{
String a[] ={ "Zero","One","Two","Three","Four","Five","Six","Seven","Eight","Nine","Ten","Eleven","Twelve","Thirteen","Fourteen","Quarter","Sixteen","Seventeen","Eighteen","Nineteen","Twenty","Half"};
if(n>30)
n=60-n;
if(n<=20)
return a[n];
else if(n<30)
{
String s=a[20]+" "+a[n-20];
return s;
}
else
return a[21];
}
void TimeInWord()
{
if(m==0)
System.out.println(NumberInWord(h)+" o' clock ");
else if(m==15||m==30)
System.out.println(NumberInWord(m)+" past "+NumberInWord(h));
else if(m<15||m<30)
System.out.println(NumberInWord(m)+" minute(s) past "+NumberInWord(h));
else if(m==45)
{
if((h+1)>12)
h=h-12;
System.out.println(NumberInWord(m)+" to "+NumberInWord(h+1));
}
else
{
if((h+1)>12)
h=h-12;
System.out.println(NumberInWord(m)+" minute(s) to "+NumberInWord(h+1));
}

}
public static void main(String a[])throws IOException
{
Time call=new Time();
call.Input ();
System.out.println(call.h+":"+call.m);
if(call.h<=12&&call.m<=59)
call.TimeInWord ();
else
System.out.println("Invalid Entry");
}
}

No comments:

Post a Comment