import java.util.ArrayList; public class Interval { /* i2st stands for interval to semitones--it maps the name of an interval to the number of semitones that it spans */ private static ArrayList intervalNames = new ArrayList(); static { intervalNames.add("perfect unison"); // 0 intervalNames.add("minor 2nd"); // 1 intervalNames.add("major 2nd"); // 2 intervalNames.add("minor 3nd"); // 3 intervalNames.add("major 3nd"); // 4 intervalNames.add("perfect 4th"); // 5 intervalNames.add("tritone"); // 6 intervalNames.add("perfect 5th"); // 7 // etc. } private semitones; public Interval(int semitones) { this.semitones = semitones; } public static Interval getRandomInterval() { // chose a random number between 0 and intervalNames.size() - 1 (which is probably 12) int whichOne = -42; // STUB! replace as per comment above return new Interval(whichOne); } public String getName() { return intervalNames.get(this.semitones); } }