I would use Java's built-in message formatting method, <a href="http://docs.oracle.com/javase/6/docs/api/java/text/MessageFormat.html">`MessageFormat`</a>. It has a means to select different text choices based on a number: public String toAlbumSongCount() { return MessageFormat.format( "{0,number} {0,choice,1#album|1<albums},{1,number} {1,choice,1#song|1<songs}", albumCount(), // parameter 0 songCount()); // parameter 1 }