1 Replies - 3852 Views - Last Post: 22 November 2012 - 04:56 AM Rate Topic: -----

#1 rogjava   User is offline

  • New D.I.C Head

Reputation: -1
  • View blog
  • Posts: 16
  • Joined: 20-November 12

I got so far to time.java to convert of military time

Posted 22 November 2012 - 02:12 AM

this is what I got so far any help

public class Time
{
	/**hours in conventional time*/
	private int hours;
	/**minutes in conventional time*/
	private int minutes;
	/**true if afternoon time, false if morning time*/
	private boolean afternoon;

	/**Constructs a customary time (12 hours, am or pm)
	from a military time ##:##
	@param militaryTime time in the military format ##:##*/
	public Time(String militaryTime)
	{
		//Check to make sure something was entered
                int strlength= militaryTime.length();
		if (militaryTime == null)
		{
			System.out.println(
				"You must enter a valid miliary time." );
		}
		//Check to make sure there are 5  characters
		// To do - Task #1 step 2 item a
		else if (strlength>5) 
		{
			System.out.println(militaryTime +
				" is not a valid miliary time." );
		}
		else
		{
			//Check to make sure the colon is in
			//the correct spot
			// To do - Task #1 step 2 item b
                        int colon = militaryTime.indexOf(':');
                        hours = Integer.parseInt(militaryTime.substring(0,colon));
                        minutes = Integer.parseInt(militaryTime.substring(colon+1,colon+3));
			if (colon <=0)
			{
			    //hours = Integer.parseInt(militaryTime.substring(0,colon));
                            //minutes = Integer.parseInt(militaryTime.substring(colon+1,colon+3));
                          
                        
                            System.out.println(militaryTime +
					" is not a valid miliary time." );
			}
			//Check to make sure all other characters are digits
			// To do - Task #1 step 2 item c
			else if (!Character.isDigit(militaryTime.charAt(0)))
			{
				System.out.println(militaryTime +
					" is not a valid miliary time." );
			}
			else if (!Character.isDigit(militaryTime.charAt(1)))//CONDITION TO CHECK FOR DIGIT)
			{
				System.out.println(militaryTime +
					" is not a valid miliary time." );
			}
			else if (!Character.isDigit(militaryTime.charAt(2)))
			{
				System.out.println(militaryTime +
					" is not a valid miliary time." );
			}
			else if (!Character.isDigit(militaryTime.charAt(3)))//CONDITION TO CHECK FOR DIGIT)
			{
				System.out.println(militaryTime +
					" is not a valid miliary time." );
			}
			else
			{
				//SEPARATE THE STRING INTO THE HOURS
				//AND THE MINUTES, CONVERTING THEM TO
				//INTEGERS AND STORING INTO THE
				//INSTANCE VARIABLES
				// To do - finish Task #1 step 3 - get minutes
				hours = Integer.parseInt(militaryTime.substring(0,2));
                                minutes = Integer.parseInt(militaryTime.substring(2,4));
				
				//validate hours and minutes are valid values
				if(hours > 23)
				{
					System.out.println(militaryTime +
						" is not a valid miliary time." );
				}
				else if(minutes > 59)
				{
					System.out.println(militaryTime +
						" is not a valid miliary time." );
				}
				//convert military time to conventional time
				//for afternoon times
				else if (hours > 12)
				{
					hours = hours - 12;
					afternoon = true;
					System.out.println(this.toString());
				}
				//account for midnight
				else if (hours == 0)
				{
					hours = 12;
					System.out.println(this.toString());
				}
				//account for noon
				else if (hours == 12)
				{
					afternoon = true;
					System.out.println(this.toString());
				}
				//morning times don't need converting
				else
				{
					System.out.println(this.toString());
				}
			}
		}
	}

	/**toString method returns a conventional time
	@return a conventional time with am or pm*/
	public String toString()
	{
		String am_pm;
		String zero = "";
		if (afternoon)
			am_pm = "PM";
		else
			am_pm = "AM";
		if (minutes < 10)
			zero = "0";

		return hours + ":" + zero + minutes + " " + am_pm;
	}



Please let me know what is wrong IM gettin this output seems not working at all please any suggestion
Enter a miitary time using the ##:## form 12:00
12:00 is not a valid miliary time.
Do you want to enter another (Y/N)?

This post has been edited by BenignDesign: 22 November 2012 - 08:08 AM
Reason for edit:: added [code][/code] tags


Is This A Good Question/Topic? 0
  • +

Replies To: I got so far to time.java to convert of military time

#2 pbl   User is offline

  • There is nothing you can't do with a JTable
  • member icon

Reputation: 8381
  • View blog
  • Posts: 31,956
  • Joined: 06-March 08

Re: I got so far to time.java to convert of military time

Posted 22 November 2012 - 04:56 AM

Duplicated thread
Please avoid double posting
And learn how to use code tags.
:code:

This post has been edited by pbl: 22 November 2012 - 04:56 AM

Was This Post Helpful? 0
  • +
  • -

Page 1 of 1