/* Algorithm - main
loop from 99 down to 1
// one verse each iteration
numString <-- call method to convert i to string
print numstring + " bottles of beer on the wall, " // phrase 1
print numString + " bottles of beer, " // phrase 2
print "Take one down, pass it around, " // phrase 3
numString <-- call method to convert i-1 to string
print numstring + " bottles of beer on the wall." // phrase 4
print a blank line
end loop
*/
/* Algorithm - numberToString
ADD 1
*/
class HW6PrintLyrics
{
public static void main
(String[] args
) {
// loop verses from 99 down to 1
for (int i=99; i>0; i--)
{
// print one verse: with 4 phrases
// first two phrases: value i
// third phrase: no number
// fourth phrase: value i-1
String numString
= numberToString
(i
); // convert i to string System.
out.
println(numString
+ " bottles of beer on the wall, "); System.
out.
println(numString
+ " bottles of beer, ");
System.
out.
println("Take one down, pass it around, ");
// ADD CODE 1: print fourth phrase
numString = numberToString(i-1);
System.
out.
println(numString
+ " bottles of beer on the wall. ");
} // end for
} // end main
public static String numberToString
(int num
) {
// ADD CODE 2
if (num==0 || num>=10 && num<=19)
{
switch(num)
{
case 0: result = "zero"; break;
case 10: result = "ten"; break;
case 11: result = "eleven"; break;
case 12: result = "twelve"; break;
case 13: result = "thriteen"; break;
case 14: result = "fourteen"; break;
case 15: result = "fifteen"; break;
case 16: result = "sixteen"; break;
case 17: result = "seventeen"; break;
case 18: result = "eighteen"; break;
case 19: result = "nineteen"; break;
} // end switch num
}
else if (num>=1 && num<=9 || num>= 20 && num <= 99)
{
int tenthDigit= num / 10;
int unitDigit= num % 10;
switch (tenthDigit)
{
case 2: tenthSt r= "twenty"; break;
case 3: tenthStr = "thirty"; break;
case 4: tenthStr = "fourty"; break;
case 5: tenthStr = "fifty"; break;
case 6: tenthStr = "sixty"; break;
case 7: tenthStr = "seventy"; break;
case 8: tenthStr = "eighty"; break;
case 9: tenthStr = "ninety"; break;
} // end switch tenthDigt
switch (unitDigit)
{
case 1: unitStr = "one"; break;
case 2: unitStr = "two"; break;
case 3: unitStr = "three"; break;
case 4: unitStr = "four"; break;
case 5: unitStr = "five"; break;
case 6: unitStr = "six"; break;
case 7: unitStr = "seven"; break;
case 8: unitStr = "eight"; break;
case 9: unitStr = "nine"; break;
} // end switch unitDigit
if (tenthDigit== 0) {
result = unitStr;}
else if(unitDigit==0){
result= tenthStr;}
else {
result= tenthStr + "-" + unitStr;}
} // end else if
else {
result= "invalid";
}
return result;
} // end convertToString
} // end class HW6PrintLyrics