// 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<String[]> rowList = new ArrayList<String[]>();
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;
}
}