import java.util.Scanner ;
public class CupDispenser
{
private int numberCups;
public CupDispenser( )
{
location = "unknown" ;
numberCups = 0 ;
} //end default constructor
public CupDispenser
( String theLocation,
int theNumberCups
) {
location = theLocation;
numberCups = theNumberCups;
} //end constructors
// methods
public int getNumberCups( )
{
return numberCups;
}
public void getOneCup( )
{
numberCups = numberCups - 1 ;
}
public void takeCupsFrom( int numberCups) //CANT FIGURE THIS OUT!!!!
{
numberCups = numberCups + d1.getNumberCups ( ) ;
}
{
return location;
}
public void setLocation
( String theLocation
) {
location = theLocation;
}
{
return "There are " + numberCups + " cups in the " + location + " cup dispenser." ;
}
} //end class
public class CupDispenserDemo
{
public static void main
( String [ ] args
) {
Scanner keyboard
= new Scanner
( System .
in ) ; System .
out .
println ( "What is the location of this cup dispenser? " ) ; String location1
= keyboard.
next ( ) ;
CupDispenser d1 = new CupDispenser( location1,50 ) ;
System .
out .
println ( "Would you like to take one cup? Yes or no?" ) ; String input
= keyboard.
next ( ) ; char getOne = 'y' ;
getOne = input.charAt ( 0 ) ;
if ( getOne == 'Y' || getOne == 'y' )
{ d1.getOneCup ( ) ; }
System .
out .
println ( d1.
toString ( ) ) ; //end first dispenser
int cd1 = 1 ;
cd1 = d1.getNumberCups ( ) ;
System .
out .
println ( "What is the location of the second cup dispenser? " ) ; String location2
= keyboard.
next ( ) ;
CupDispenser d2 = new CupDispenser( location2, 50 ) ;
System .
out .
println ( "Would you like to take all the cups from the " + location1
+ " cup dispenser " System .
out .
println ( "and put them into the " + location2
+ " cup dispenser? Yes or no?" ) ; String input2
= keyboard.
next ( ) ; char response = 'y' ;
response = input2.charAt ( 0 ) ;
if ( response == 'Y' || response 'y' )
{
cd1.takeCupsFrom ( d2) ; }
System .
out .
println ( d2.
toString ( ) ) ;
}
}
aW1wb3J0IGphdmEudXRpbC5TY2FubmVyOwpwdWJsaWMgY2xhc3MgQ3VwRGlzcGVuc2VyCnsKICAgcHJpdmF0ZSBTdHJpbmcgbG9jYXRpb247CiAgIHByaXZhdGUgaW50IG51bWJlckN1cHM7CiAgIAogICBwdWJsaWMgQ3VwRGlzcGVuc2VyKCkKICAgewogICAgICBsb2NhdGlvbiA9ICJ1bmtub3duIjsKICAgICAgbnVtYmVyQ3VwcyA9IDA7CiAgICB9IC8vZW5kIGRlZmF1bHQgY29uc3RydWN0b3IKICAgICAgCiAgIHB1YmxpYyBDdXBEaXNwZW5zZXIoU3RyaW5nIHRoZUxvY2F0aW9uLGludCB0aGVOdW1iZXJDdXBzKQogICB7CiAgICAgIGxvY2F0aW9uID0gdGhlTG9jYXRpb247CiAgICAgIG51bWJlckN1cHMgPSB0aGVOdW1iZXJDdXBzOwogICB9Ly9lbmQgY29uc3RydWN0b3JzCiAgICAKICAgLy8gbWV0aG9kcwogICBwdWJsaWMgaW50IGdldE51bWJlckN1cHMoKQogICB7CiAgICAgIHJldHVybiBudW1iZXJDdXBzOwogICB9CiAgIAogICBwdWJsaWMgdm9pZCBnZXRPbmVDdXAoKQogICB7CiAgICAgbnVtYmVyQ3VwcyA9IG51bWJlckN1cHMgLSAxOwogICB9ICAgICAKICAgcHVibGljIHZvaWQgdGFrZUN1cHNGcm9tKGludCBudW1iZXJDdXBzKSAvL0NBTlQgRklHVVJFIFRISVMgT1VUISEhIQogICB7CiAgICAgIG51bWJlckN1cHMgPSBudW1iZXJDdXBzICsgZDEuZ2V0TnVtYmVyQ3VwcygpOyAKICAgfQogICAKICAgcHVibGljIFN0cmluZyBnZXRMb2NhdGlvbigpCiAgIHsKICAgICAgcmV0dXJuIGxvY2F0aW9uOwogICB9ICAgCiAgIAogICBwdWJsaWMgdm9pZCBzZXRMb2NhdGlvbihTdHJpbmcgdGhlTG9jYXRpb24pCiAgIHsKICAgICAgbG9jYXRpb24gPSB0aGVMb2NhdGlvbjsKICAgfQogICAKICAgcHVibGljIFN0cmluZyB0b1N0cmluZygpCiAgIHsKICAgICAgcmV0dXJuICJUaGVyZSBhcmUgIiArIG51bWJlckN1cHMgKyAiIGN1cHMgaW4gdGhlICIgKyBsb2NhdGlvbiArICIgY3VwIGRpc3BlbnNlci4iOwogICB9CiAKfSAvL2VuZCBjbGFzcwoKCnB1YmxpYyBjbGFzcyBDdXBEaXNwZW5zZXJEZW1vCnsKICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykKICAgewogICAgICBTY2FubmVyIGtleWJvYXJkID0gbmV3IFNjYW5uZXIoU3lzdGVtLmluKTsKICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJXaGF0IGlzIHRoZSBsb2NhdGlvbiBvZiB0aGlzIGN1cCBkaXNwZW5zZXI/ICIpOwogICAgICBTdHJpbmcgbG9jYXRpb24xID0ga2V5Ym9hcmQubmV4dCgpOwogICAgICAgCiAgICAgIEN1cERpc3BlbnNlciBkMSA9IG5ldyBDdXBEaXNwZW5zZXIobG9jYXRpb24xLDUwKTsKICAgICAgCiAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiV291bGQgeW91IGxpa2UgdG8gdGFrZSBvbmUgY3VwPyBZZXMgb3Igbm8/Iik7CiAgICAgIFN0cmluZyBpbnB1dCA9IGtleWJvYXJkLm5leHQgKCk7CiAgICAgIGNoYXIgZ2V0T25lID0gJ3knOwogICAgICBnZXRPbmUgPSBpbnB1dC5jaGFyQXQoMCk7CiAgICAgIAogICAgICBpZiAoZ2V0T25lID09ICAnWScgfHwgZ2V0T25lID09ICd5JykKICAgICAge2QxLmdldE9uZUN1cCgpO30KICAgICAgCiAgICAgIFN5c3RlbS5vdXQucHJpbnRsbihkMS50b1N0cmluZygpKTsgLy9lbmQgZmlyc3QgZGlzcGVuc2VyCiAgICAgIFN5c3RlbS5vdXQucHJpbnQoIlxuIik7CiAgICAgIAogICAgICBpbnQgY2QxID0gMTsKICAgICAgY2QxID0gZDEuZ2V0TnVtYmVyQ3VwcygpOwogICAgICAKICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJXaGF0IGlzIHRoZSBsb2NhdGlvbiBvZiB0aGUgc2Vjb25kIGN1cCBkaXNwZW5zZXI/ICIpOwogICAgICBTdHJpbmcgbG9jYXRpb24yID0ga2V5Ym9hcmQubmV4dCgpOwogICAgICAKICAgICAgQ3VwRGlzcGVuc2VyIGQyID0gbmV3IEN1cERpc3BlbnNlcihsb2NhdGlvbjIsIDUwKTsKICAgICAgCiAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiV291bGQgeW91IGxpa2UgdG8gdGFrZSBhbGwgdGhlIGN1cHMgZnJvbSB0aGUgIitsb2NhdGlvbjErICIgY3VwIGRpc3BlbnNlciAiCiAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiYW5kIHB1dCB0aGVtIGludG8gdGhlICIrbG9jYXRpb24yKyIgY3VwIGRpc3BlbnNlcj8gWWVzIG9yIG5vPyIpOwogICAgICBTdHJpbmcgaW5wdXQyID0ga2V5Ym9hcmQubmV4dCgpOwogICAgICBjaGFyIHJlc3BvbnNlID0gJ3knOwogICAgICByZXNwb25zZSA9IGlucHV0Mi5jaGFyQXQoMCk7CiAgICAgIAogICAgICBpZiAocmVzcG9uc2UgPT0gJ1knIHx8IHJlc3BvbnNlICd5JykKICAgICAgewogICAgICBjZDEudGFrZUN1cHNGcm9tKGQyKTt9CiAgICAgIAogICAgICBTeXN0ZW0ub3V0LnByaW50bG4oZDIudG9TdHJpbmcoKSk7CiAgICAgIAogICB9Cn0=