# Java - <s>921</s> <s>907</s> 863 characters I build up each string seperately, storing each string in an array. Then loop through the array and print out each line. public class D{public static void main(String[]a){char[]z=a[0].toCharArray();char[]y=new char[3];y[0]=('H'==z[0]||'L'==z[0])?z[0]:'N';int o=(y[0]=='N')?0:1;y[1]=z[o++];y[2]=z.length>o?z[o]:'!';int n=y[1]<'C'?((int)(y[1]-'A'))+6:((int)(y[1]-'C'))+1;n=(y[0]=='N')?n+7:(y[0]=='H'?n+14:n);String s=" ";String b=" --- ";String[]u=new String[22];for(int i=1;i<=21;i+=2){u[i]=s;}for(int i=10;i<=18;i+=2){u[i]="-----";}u[20]=n>19?b:s;u[2]=n<3?b:s;u[4]=n<5?b:s;u[6]=n<7?b:s;u[8]=n<9?b:s;char c=u[n].charAt(0);char e=u[n].charAt(1);char[]h=new char[]{c,y[2]=='!'?e:y[2],'O',e,c};u[n]=new String(h);for(int i=0;i<22;i++){if(n<14&&i-n<4&&i>n)u[i]=u[i]!=null?u[i].substring(0,3)+"|"+u[i].charAt(4):s;else if(n>13&&n-i<4&&n>i)u[i]=u[i]!=null?u[i].substring(0,3)+"|"+u[i].charAt(4):s;}for(int i=21;i>=0;i--)if(!(i>n&&i>18||i<n&&i<10))System.u.println((u[i]==null)?s:u[i]);}} Oh please don't hate me, it's my first time. I coulnd't find any faq/introduction so I hope my posting format is ok. Not sure how serious people got about character counts.... normal version of the code - extra is linebreak/spaces (1313 characters): public class DisplayNote { public static void main(String[] args) { char[] z=args[0].toCharArray(); char[] y=new char[3]; y[0]=('H'==z[0]||'L'==z[0])?z[0]:'N'; int o=(y[0]=='N')?0:1; y[1]=z[o++]; y[2]=z.length>o?z[o]:'!'; int noteValue=y[1]<'C'?((int) (y[1] - 'A')) + 6:((int) (y[1] - 'C')) + 1; noteValue=(y[0]=='N')?noteValue+7:(y[0]=='H'?noteValue+14:noteValue); String s=" "; String b=" --- "; String[] out=new String[22]; for (int i=1;i<=21;i+=2){out[i]=s;} for (int i=10;i<=18;i+=2){out[i]="-----";} out[20]=noteValue>19?b:s; out[2]=noteValue<3?b:s; out[4]=noteValue<5?b:s; out[6]=noteValue<7?b:s; out[8]=noteValue<9?b:s; char c=out[noteValue].charAt(0); char e=out[noteValue].charAt(1); char[] h=new char[]{c,y[2]=='!'?e:y[2],'O',e,c}; out[noteValue]=new String(h); for (int i=0;i<22;i++) { if (noteValue<14&&i-noteValue<4&&i>noteValue) out[i]=out[i]!=null?out[i].substring(0,3)+"|"+out[i].charAt(4):s; else if (noteValue>13&¬eValue-i<4&¬eValue>i) out[i]=out[i]!=null?out[i].substring(0,3)+"|"+out[i].charAt(4):s; } for (int i=21;i>=0;i--) if (!(i>noteValue&&i>18||i<noteValue&&i<10)) System.out.println((out[i]==null)?s:out[i]); } }