Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

***JAVA PROGRAMMING ASSIGNMENT*** ***Please read carefully*** Go Dolphins!!! Thi

ID: 673583 • Letter: #

Question

***JAVA PROGRAMMING ASSIGNMENT***

***Please read carefully***

Go Dolphins!!!
This assignment is a simulation of beer drinking football fans and the security guards that love them.

Design Requirements:
Class Beer – Tracks whether it is full or empty and has a getter. Also, has a drink method.
Class SixPack – Starts with an array of 6 beers, dispenses beers up to 6, and has a toString.
Class Person – Has a first and last name, getters, and a toString
Class NFLFan – Extends Person, drinks beers and keeps count, getter and toString
Class StadiumSecurity – Extends Person, chews out fans who’ve had more than 2 beers, getter and toString

Please title your java file Assignment6.java. Submitted files that do not compile will receive a grade of 0.

Next page – sample output and the driver used to generate it

No output from the class definitions. All the output was done from this driver:

public class Assignment6 {

            public static void main (String [] arg) {

                        SixPack sixPack = new SixPack();

                        NFLFan steve = new NFLFan("steve", "harris");

                        NFLFan rick = new NFLFan("rick", "newhouse");

                        StadiumSecurity bobTheSecurityGuard =

                                                new StadiumSecurity("bob", "modino");

                        steve.drinkBeer (sixPack.getABeer());

                        System.out.println(steve);

                        System.out.println(sixPack);

                       

                        rick.drinkBeer (sixPack.getABeer());

                        rick.drinkBeer (sixPack.getABeer());

                        rick.drinkBeer (sixPack.getABeer());

                        System.out.println(rick);

                        System.out.println(sixPack);

                        bobTheSecurityGuard.challengeBeerDrinker (steve);

                        bobTheSecurityGuard.challengeBeerDrinker (rick);

                        System.out.println(bobTheSecurityGuard);

            }

}

Note: This is not the driver I will use to test your program.   I will check for these implementation errors:

A fan upping his beer count by drinking an empty beer

A six pack that dispenses more than six beers

A security guard yelling at a fan who is under the beer limit

etc

Explanation / Answer

Beer.java :

public class Beer {

   boolean flag;
  
   public Beer(){
       flag=true;
   }
   public void drink(){
       this.flag=false;
   }
  
}


SixPack.java:

//Starts with an array of 6 beers, dispenses beers up to 6, and has a toString.
public class SixPack {

   Beer beer[] = new Beer[6];
   int count = 0;

   public boolean getABeer() {
       boolean flag;
       if (count < 6) {
          
           //beer[count].drink();
           count++;
           flag = true;
       } else {

           flag = false;
       }
       return flag;
   }

   /*
   * (non-Javadoc)
   *
   * @see java.lang.Object#toString()
   */
   @Override
   public String toString() {
       return "I am a six pack and there are " + (beer.length - count)
               + " beers left";
   }

}


Person.java:
//Has a first and last name, getters, and a toString
public class Person {

   String firstName,lastName;

   public Person(String firstName, String lastName) {
      
       this.firstName = firstName;
       this.lastName = lastName;
   }

   /**
   * @return the firstName
   */
   public String getFirstName() {
       return firstName;
   }

   /**
   * @return the lastName
   */
   public String getLastName() {
       return lastName;
   }

   /**
   * @param firstName the firstName to set
   */
   public void setFirstName(String firstName) {
       this.firstName = firstName;
   }

   /**
   * @param lastName the lastName to set
   */
   public void setLastName(String lastName) {
       this.lastName = lastName;
   }

   /* (non-Javadoc)
   * @see java.lang.Object#toString()
   */
   @Override
   public String toString() {
       return "Person [firstName=" + firstName + ", lastName=" + lastName
               + "]";
   }
  
}

NFLFan.java:

//Extends Person, drinks beers and keeps count, getter and toString
public class NFLFan extends Person {

   int drinkCount = 0;

   public NFLFan(String firstName, String LastName) {
       super(firstName, LastName);
   }

   public void drinkBeer(boolean flag) {
      
       if (flag == true) {
           drinkCount++;
       }

   }

   /*
   * (non-Javadoc)
   *
   * @see java.lang.Object#toString()
   */
   @Override
   public String toString() {
       return "My name is " + firstName + " " + lastName + " and I've had "
               + drinkCount + " beer(s)";
   }

   /**
   * @return the drinkCount
   */
   public int getDrinkCount() {
       return drinkCount;
   }

   /**
   * @param drinkCount
   * the drinkCount to set
   */
   public void setDrinkCount(int drinkCount) {
       this.drinkCount = drinkCount;
   }

}

StadiumSecurity.java:

//Extends Person, chews out fans who’ve had more than 2 beers, getter and toString
public class StadiumSecurity extends Person{
  
  
   int fanCount=0;
  
   public StadiumSecurity(String firstName, String lastName) {
       super(firstName, lastName);

      
   }
  
   public void challengeBeerDrinker(NFLFan fan){
       if(fan.getDrinkCount()>2){
           fanCount++;
          
       }
      
   }

   /**
   * @return the fanCount
   */
   public int getFanCount() {
       return fanCount;
   }

   /**
   * @param fanCount the fanCount to set
   */
   public void setFanCount(int fanCount) {
       this.fanCount = fanCount;
   }

   /* (non-Javadoc)
   * @see java.lang.Object#toString()
   */
   @Override
   public String toString() {
       return "My name is " + firstName + " " + lastName + " and I'm a security guard and I've yelled at "
               + fanCount + " fan(s)";
   }
  
  

}

Assignment6.java:

public class Assignment6 {
   public static void main (String [] arg) {
SixPack sixPack = new SixPack();
NFLFan steve = new NFLFan("steve", "harris");
NFLFan rick = new NFLFan("rick", "newhouse");
StadiumSecurity bobTheSecurityGuard =
new StadiumSecurity("bob", "modino");

steve.drinkBeer (sixPack.getABeer());
System.out.println(steve);
System.out.println(sixPack);
//   
rick.drinkBeer (sixPack.getABeer());
rick.drinkBeer (sixPack.getABeer());
rick.drinkBeer (sixPack.getABeer());
  
System.out.println(rick);
System.out.println(sixPack);

bobTheSecurityGuard.challengeBeerDrinker (steve);
bobTheSecurityGuard.challengeBeerDrinker (rick);
System.out.println(bobTheSecurityGuard);
}
}

output:
My name is steve harris and I've had 1 beer(s)
I am a six pack and there are 5 beers left
My name is rick newhouse and I've had 3 beer(s)
I am a six pack and there are 2 beers left
My name is bob modino and I'm a security guard and I've yelled at 1 fan(s)