***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)
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.