// uncomment me later //package net.jnotes; import java.util.*; public class TuneParser { public TuneParser(){ // Delete this line System.out.println(decodeNote("B8Q+")); } // Delete this line public static void main(String [ ] args) { TuneParser tp=new TuneParser(); } public int decodeNote(String note){ int decode = -1; List rowList = new ArrayList(); rowList.add(new String[] { "C", "0", "0","1" }); rowList.add(new String[] { "C", "1", "12","13" }); rowList.add(new String[] { "C", "2", "24","25" }); rowList.add(new String[] { "C", "3", "36","37" }); rowList.add(new String[] { "C", "4", "48","49" }); rowList.add(new String[] { "C", "5", "60","61" }); rowList.add(new String[] { "C", "6", "72","73" }); rowList.add(new String[] { "C", "7", "84","85" }); rowList.add(new String[] { "C", "8", "96","97" }); rowList.add(new String[] { "C", "9", "108","109" }); rowList.add(new String[] { "D", "0", "2","2" }); rowList.add(new String[] { "D", "1", "14","15" }); rowList.add(new String[] { "D", "2", "26","27" }); rowList.add(new String[] { "C", "3", "38","39" }); rowList.add(new String[] { "D", "4", "50","51" }); rowList.add(new String[] { "D", "5", "62","63" }); rowList.add(new String[] { "D", "6", "74","75" }); rowList.add(new String[] { "D", "7", "86","87" }); rowList.add(new String[] { "D", "8", "98","99" }); rowList.add(new String[] { "D", "9", "110","111" }); rowList.add(new String[] { "E", "0", "4","4" }); rowList.add(new String[] { "E", "1", "16","16" }); rowList.add(new String[] { "E", "2", "28","28" }); rowList.add(new String[] { "E", "3", "40","40" }); rowList.add(new String[] { "E", "4", "52","52" }); rowList.add(new String[] { "E", "5", "64","64" }); rowList.add(new String[] { "E", "6", "76","76" }); rowList.add(new String[] { "E", "7", "88","88" }); rowList.add(new String[] { "E", "8", "100","100" }); rowList.add(new String[] { "E", "9", "112","112" }); rowList.add(new String[] { "F", "0", "5","6" }); rowList.add(new String[] { "F", "1", "17","18" }); rowList.add(new String[] { "F", "2", "29","30" }); rowList.add(new String[] { "F", "3", "41","42" }); rowList.add(new String[] { "F", "4", "53","54" }); rowList.add(new String[] { "F", "5", "65","66" }); rowList.add(new String[] { "F", "6", "77","78" }); rowList.add(new String[] { "F", "7", "89","90" }); rowList.add(new String[] { "F", "8", "101","102" }); rowList.add(new String[] { "F", "9", "113","114" }); rowList.add(new String[] { "G", "0", "7","8" }); rowList.add(new String[] { "G", "1", "19","20" }); rowList.add(new String[] { "G", "2", "31","32" }); rowList.add(new String[] { "G", "3", "43","44" }); rowList.add(new String[] { "G", "4", "55","56" }); rowList.add(new String[] { "G", "5", "67","68" }); rowList.add(new String[] { "G", "6", "79","80" }); rowList.add(new String[] { "G", "7", "91","92" }); rowList.add(new String[] { "G", "8", "103","104" }); rowList.add(new String[] { "G", "9", "115","116" }); rowList.add(new String[] { "A", "0", "9","10" }); rowList.add(new String[] { "A", "1", "21","22" }); rowList.add(new String[] { "A", "2", "33","34" }); rowList.add(new String[] { "A", "3", "45","46" }); rowList.add(new String[] { "A", "4", "57","58" }); rowList.add(new String[] { "A", "5", "69","70" }); rowList.add(new String[] { "A", "6", "81","82" }); rowList.add(new String[] { "A", "7", "93","94" }); rowList.add(new String[] { "A", "8", "105","106" }); rowList.add(new String[] { "A", "9", "117","118" }); rowList.add(new String[] { "B", "0", "11","11" }); rowList.add(new String[] { "B", "1", "23","23" }); rowList.add(new String[] { "B", "2", "35","35" }); rowList.add(new String[] { "B", "3", "47","47" }); rowList.add(new String[] { "B", "4", "59","59" }); rowList.add(new String[] { "B", "5", "71","71" }); rowList.add(new String[] { "B", "6", "83","83" }); rowList.add(new String[] { "B", "7", "95","95" }); rowList.add(new String[] { "B", "8", "107","107" }); rowList.add(new String[] { "B", "9", "119","119" }); for (String[] row : rowList) { if ( row[0].equals(note.substring(0,1)) && row[1].equals(note.substring(1,2)) ) { if ( note.substring(3,4).equals("-")) { decode=Integer.parseInt(row[2]); } else if ( note.substring(3,4).equals("+")) { decode=Integer.parseInt(row[3]); } } } return decode; } public int decodeDuration(String duration){ int decode = 0; switch(duration){ case "D": return 2; case "S": return 4; case "Q": return 8; case "C": return 16; case "M": return 32; case "B": return 64; } return decode; } }