
I love the ternary operator!!!!
I remember, my teacher wanted us to finish this:
http://codingbat.com/prob/p183562
in the shortest number of lines. The Challenge is as follows:
We want to make a row of bricks that is goal inches long. We have a number of small bricks (1 inch each) and big bricks (5 inches each). Return true if it is possible to make the goal by choosing from the given bricks. This is a little harder than it looks and can be done without any loops.
makeBricks(3, 1, 8) → true
makeBricks(3, 1, 9) → false
makeBricks(3, 2, 10) → true
my solution:
public boolean makeBricks(int small, int big, int goal)
{
return ((((big>(goal/5))?goal/5:big)*5+small)>=goal);
}
If you use underscores for variables and ternary operators a lot, your code can be annoyingly hard to read:
(_==__?_*__:__/_)<___?_:__