I've wrote a lot of J2ME code when I worked at Digital Bridges. Part of the assignment says to run the application on your own phone, so you need to specify which phone you have (simple J2ME applications use a common language, but the way sounds, and keys are handled is different). At Javaground we had over 2000 different mobile phones and had a system, where you could write code that would run on any of the Java phones (I developed the Java to BREW conversion for them, which took Java code and output C++ code that ran on Verizon phones).