Tuesday, August 30, 2011

Saying Hello in Java: "FizzBuzz"

My first programming assignment, after 5 years away from Java, is the FizzBuzz program.  The program is suppose to print out 1 to 100, and replace the numbers that are divisible by 3, 5, and 15 with the strings "Fizz", "Buzz", and "FizzBuzz" respectively.  This task took me about 8 minutes and 30 seconds to accomplish:

package edu.hawaii.ics613;

public class FizzBuzz {
  public static String generateOutput(int i) {
    if(i%15 == 0)
      return "FizzBuzz";
    else if(i%3 == 0)
      return "Fizz";
    else if(i%5 == 0)
      return "Buzz";
    else
      return String.valueOf(i);
  }
  public static void main(String[] args) {
    for(int i=1; i<=100; i++) {

      System.out.println(generateOutput(i));
    }
  }
}

Something new which I didn't learn about 5 years back is the JUnit test facility.  Here is a simple test case for the FizzBuzz program above:

package edu.hawaii.ics613;

import static org.junit.Assert.*;
import org.junit.Test;
public class FizzBuzzTest {
  @Test

  public void testGenerateOutput() {
    assertEquals("Testing 1", "1", FizzBuzz.generateOutput(1));
    assertEquals("Testing 3", "Fizz", FizzBuzz.generateOutput(3));
    assertEquals("Testing 5", "Buzz", FizzBuzz.generateOutput(5));
    assertEquals("Testing 15", "FizzBuzz", FizzBuzz.generateOutput(15));
  }
}




Conclusion: I am still very rusty... need more Java polishing!

0 comments:

Post a Comment