Coding Exercises: Functions and Testing
For each of these exercises, you should write a class, and all
functions should be static, like the MonkeyTrouble
example above.
Example GoodDeal.java:
class GoodDeal
{
public static boolean goodDeal(double originalPrice,
double salePrice)
{
// your code here
}
public static void testGoodDeal(double originalPrice,
double salePrice,
boolean expected)
{
// your testing code here
}
public static void main(String[] args)
{
// unit tests
testGoodDeal(100, 50, true);
testGoodDeal(100, 80, false);
// add more unit tests...
}
}1. Good Deal
A store has marked down the prices of many items, but you only want to buy something if the discount is more than 25% (or in other words, the sale price is < 75% of the original price). Write a function
boolean goodDeal(double originalPrice, double salePrice)that returns true if you’re getting a good deal on the item.
Most importantly, write a test function and include several unit tests.
2. Vampire
A person is a vampire if she is asleep during waking hours (6:00 to 22:00), or awake during sleeping hours (before 6:00 or after 22:00). Write a function
boolean isVampire(float hour, boolean awake)where hour is the time represented as a
float (e.g. 6.5 means 6:30), and awake
represents whether the person is awake, returning true
if that person is a vampire.
Most importantly, write a test function and several unit tests.
Challenge: Implement your isVampire() function by
returning a single expression built from comparisons and logical
operators.
3. (Challenge) Prime Numbers
Write a program to print the prime numbers.
To do this, first write a function isPrime():
static boolean isPrime(int n)
{
// return true <-> n is prime
}Write a test function and several unit tests for
isPrime().
Then in your main() function, loop through the first
100 integers and print only the ones for which
isPrime() returns true.