Language Decaf
Date: | 08/11/05 |
Author: | Timothy Chen |
URL: | n/a |
Comments: | 0 |
Info: | http://www.stanford.edu/class/cs143/handouts/14-Decaf-Specification.pdf |
Score: | (2.83 in 6 votes) |
class Wall { Bottle[] bottlesOnWall; void InitWall() { int i; bottlesOnWall = NewArray (100, Bottle); for (i = 1; i <= 99; i = i + 1) { bottlesOnWall[i] = New (Bottle); bottlesOnWall[i].SetNumberOnWall(i); } bottlesOnWall[0] = New(NoBottle); } Bottle[] GetBottlesOnWall() { return bottlesOnWall; } } class Bottle { int numberOnWall; void SetNumberOnWall(int number) { numberOnWall = number; } int GetNumberOnWall() { return numberOnWall; } } class NoBottle extends Bottle { void SetNumberOnWall() {} int GetNumberOnWall() { return 0; } } void main() { Wall myWall; int i; myWall = New (Wall); myWall.InitWall(); for (i = (myWall.GetBottlesOnWall()).length() - 1; i >= 0; i = i - 1) { if ((myWall.GetBottlesOnWall())[i].GetNumberOnWall() == 0) { Print ("No more bottle of beer on the wall, "); Print ("no more bottles of beer.\n"); Print ("Go to the store and buy some more, "); Print ("99 bottles of beer on the wall.\n"); } else { Print ((myWall.GetBottlesOnWall())[i].GetNumberOnWall(), " bottles of beer on the wall, "); Print ((myWall.GetBottlesOnWall())[i].GetNumberOnWall(), " bottles of beer.\n"); Print ("Take one down and pass it around, "); Print ((myWall.GetBottlesOnWall())[i].GetNumberOnWall() - 1, " bottles of beer on the wall.\n\n"); } } }
Download Source | Write Comment
Download Source | Write Comment
Add Comment
Please provide a value for the fields Name,
Comment and Security Code.
This is a gravatar-friendly website.
E-mail addresses will never be shown.
Enter your e-mail address to use your gravatar.
Please don't post large portions of code here! Use the form to submit new examples or updates instead!
Comments