Hello and welcome to our community! Is this your first visit?
Register
Enjoy an ad free experience by logging in. Not a member yet? Register.
Results 1 to 2 of 2

Thread: Java Program

  1. #1
    New to the CF scene
    Join Date
    Mar 2011
    Posts
    8
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Java Program

    Im writing this code for a gas station program. I have been writing and improving my code for about 3 weeks now and its quite long. I have about classes , customer class, office class and a gas pumps classes. I need help on how to get started on finding the total output at the end of the day. Conceptually i know what i have to do but I don't know where to begin writing the code. I think each time there is a new customer i should add the amount of fuel purchased to a new total fuel purchases variable in the gas pump class. If any one could give me some advice or tips on my theory it would be great ! Should I create a method or can i be done without one.
    Code:
    import java.util.Random;
    import java.util.Scanner;
    public class Customer
    {
    	private String carTag;
    	private double gasPurchased;
    	private int gasType;
    	
    	public Customer ()
    	{
    		Random gen = new Random ( );
    		carTag = "";
    		for (int i = 1; i <= 6; i++)
    		{
    			
    			//a random number between 48 and 90
    			int code = gen.nextInt (43)+ 48;
    			if ((code <= 64) && (code >= 58))
    			{
    				i--;
    				continue;
    			}
    			
    			carTag += ((char)(code));
    			
    		}
    		
    		System.out.println ("a car arrives; tag number:" + carTag);
    		
    	}
    	
    	public int getGasType ()
    	{
    		Scanner inputDevice = new Scanner (System.in);
    		//1:regular, 2:plus, 3:premium
    		System.out.println ("enter type of gas to buy " + 
    				"(1:regular, 2:plus, 3:premium): ");
    		gasType = inputDevice.nextInt ();
    		return gasType;
    		
    	}
    	
    	public double getGasPurchased ()
    	{
    		Random gen = new Random ();
    		gasPurchased = gen.nextDouble ()* 50;
    		return gasPurchased;
    	}
    	
    	public String getCarTag ()
    	{
    		return carTag;
    	}
    Code:
    import java.util.Random;
    public class Office
    {
        public static void main (String [ ] args)
        {
            double regularTank = 1000;
            double plusTank = 1000;
            double primiumTank = 1000;
            GasPump pump1 = new GasPump ( );
            GasPump2 pump2 = new GasPump2 ( );
            Random gen  = new Random ();
            //asuumint gas tanks always have gas, will upgrade later
            do
            {
                int whatHappens = gen.nextInt (100);
                if (whatHappens == 5)
                {
                    System.out.println ("gas station closed");
                    break;
                }
                else if ((whatHappens % 10) == 0)
                {
                    if (pump1.pumpAvailable ())
                        pump1.customerArrival ();
                    else
                        System.out.println ("a new customer arrives at pump 1, but is turned away, gas pump is busy");
                }
                else
                {
                    if (pump1.pumpAvailable ())
                        System.out.println ("no customer; waiting.........");
                }
    
                if (!pump1.pumpAvailable())
                {
                    if (pump1.updateClock () == 0)
                        pump1.saleComplete ();
                }
                
            } while (true);
            
            do
    system.exit ()
    Code:
    public class GasPump
    {
    	final private double REGULAR_PRICE = 3.15;
    	final private double PLUS_PRICE = 3.5;
    	final private double PREMIUM_PRICE = 4.5;
            final private double HOSE_FLOW_RATE = 0.85;
    	
    	private double totalPayment;
    	private Customer who;
            private int timeLeftToFinish;
            private int gasType;
            private double gasPurchased;
            private String carTag;
    	
    	public GasPump ()
    	{
    		who = null;
    		totalPayment = 0;
                    timeLeftToFinish = 0;
    	}
    	
    	public void customerArrival ()
    	{
    		who = new Customer ();
    		System.out.println ("welcome to jack's gas station PUMP 1 ");
    		
    		gasType = who.getGasType ();
    		gasPurchased = who.getGasPurchased ();
    
                    timeLeftToFinish =  (int)(gasPurchased/HOSE_FLOW_RATE);
    
                    System.out.println (timeLeftToFinish + " total time units needed for this transaction...");
    
    		carTag = who.getCarTag ();
    
    	
    		
    	}
    
           private void printReceipt ( )
            {
                System.out.println ("****Sale Receipt");
                switch (gasType)
                {
                    case 1: System.out.println ("regular gas"); break;
                    case 2: System.out.println ("plus gas"); break;
                    case 3: System.out.println ("premium gas"); break;
                }
    
                System.out.println ("gas amount: " + gasPurchased +
                "\ntotal payment" + totalPayment + "\nthank you");
    
                System.out.println("Pump has " + regularTank()); 
    
            }
    
           private void resetPump ( )
           {
                who = null;
                totalPayment = 0;
                timeLeftToFinish = 0;
           }
    
           public int updateClock ()
           {
               timeLeftToFinish--;
               System.out.println (timeLeftToFinish + " time units left to finish ");
               return timeLeftToFinish;
           }
    
           public void saleComplete ( )
           {
    		switch (gasType)
                    {
                        case 1: totalPayment = REGULAR_PRICE * gasPurchased; break;
                        case 2: totalPayment = PLUS_PRICE * gasPurchased; break;
                        case 3: totalPayment  = PREMIUM_PRICE * gasPurchased; break;
    
                    }
    
    				printReceipt ( );
    					resetPump ( );
    
           			}
    
           		public boolean pumpAvailable ()
           		{
           			return (who == null);
           		}
    
    			}

  • #2
    Supreme Master coder! Philip M's Avatar
    Join Date
    Jun 2002
    Location
    London, England
    Posts
    18,159
    Thanks
    203
    Thanked 2,548 Times in 2,526 Posts
    This is the JavaScript forum. Java and Javascript are entirely different programming languages, in spite of the confusingly similar names. Rather like Austria and Australia!

    PM a mod to ask him to move you to the correct forum.


  •  

    Tags for this Thread

    Posting Permissions

    • You may not post new threads
    • You may not post replies
    • You may not post attachments
    • You may not edit your posts
    •