Most Beautiful Kludge

Started by windhound, February 27, 2009, 12:59:31 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

windhound

   public void takeinnew(String newblock){
      String newblockbin = "";
      String newtag="";
      tagbits = 0;
      for(int i = 0; i<newblock.length(); i++){         
         if(newblock.charAt(i)==('0')) newblockbin=newblockbin + "0000";
         else if(newblock.charAt(i)==('1')) newblockbin=newblockbin + "0001";
         else if(newblock.charAt(i)==('2')) newblockbin=newblockbin + "0010";
         else if(newblock.charAt(i)==('3')) newblockbin=newblockbin + "0011";
         else if(newblock.charAt(i)==('4')) newblockbin=newblockbin + "0100";
         else if(newblock.charAt(i)==('5')) newblockbin=newblockbin + "0101";
         else if(newblock.charAt(i)==('6')) newblockbin=newblockbin + "0110";
         else if(newblock.charAt(i)==('7')) newblockbin=newblockbin + "0111";
         else if(newblock.charAt(i)==('8')) newblockbin=newblockbin + "1000";
         else if(newblock.charAt(i)==('9')) newblockbin=newblockbin + "1001";
         else if(newblock.charAt(i)==('a')||newblock.charAt(i)==('A')) newblockbin=newblockbin + "1010";
         else if(newblock.charAt(i)==('b')||newblock.charAt(i)==('B')) newblockbin=newblockbin + "1011";
         else if(newblock.charAt(i)==('c')||newblock.charAt(i)==('C')) newblockbin=newblockbin + "1100";
         else if(newblock.charAt(i)==('d')||newblock.charAt(i)==('D')) newblockbin=newblockbin + "1101";
         else if(newblock.charAt(i)==('e')||newblock.charAt(i)==('E')) newblockbin=newblockbin + "1110";
         else if(newblock.charAt(i)==('f')||newblock.charAt(i)==('F')) newblockbin=newblockbin + "1111";   
      }
      //System.out.println(newblockbin);
      newtag = newblockbin.substring(0,TAG);
      currentindex = Integer.parseInt(newblockbin.substring(TAG,INDEX+TAG),2);
      //System.out.println(currenttag + "   " + currentindex);
      String currenttagm="";
      currenttag = "";
      int tagsm=TAG;
      while(tagsm >= 4){
         if(newtag.substring(tagsm-4,tagsm).equals("0000")) currenttag= "0" + currenttag;
         if(newtag.substring(tagsm-4,tagsm).equals("0001")) currenttag= "1" + currenttag;
         if(newtag.substring(tagsm-4,tagsm).equals("0010")) currenttag= "2" + currenttag;
         if(newtag.substring(tagsm-4,tagsm).equals("0011")) currenttag= "3" + currenttag;
         if(newtag.substring(tagsm-4,tagsm).equals("0100")) currenttag= "4" + currenttag;
         if(newtag.substring(tagsm-4,tagsm).equals("0101")) currenttag= "5" + currenttag;
         if(newtag.substring(tagsm-4,tagsm).equals("0110")) currenttag= "6" + currenttag;
         if(newtag.substring(tagsm-4,tagsm).equals("0111")) currenttag= "7" + currenttag;
         if(newtag.substring(tagsm-4,tagsm).equals("1000")) currenttag= "8" + currenttag;
         if(newtag.substring(tagsm-4,tagsm).equals("1001")) currenttag= "9" + currenttag;
         if(newtag.substring(tagsm-4,tagsm).equals("1010")) currenttag= "a" + currenttag;
         if(newtag.substring(tagsm-4,tagsm).equals("1011")) currenttag= "b" + currenttag;
         if(newtag.substring(tagsm-4,tagsm).equals("1100")) currenttag= "c" + currenttag;
         if(newtag.substring(tagsm-4,tagsm).equals("1101")) currenttag= "d" + currenttag;
         if(newtag.substring(tagsm-4,tagsm).equals("1110")) currenttag= "e" + currenttag;
         if(newtag.substring(tagsm-4,tagsm).equals("1111")) currenttag= "f" + currenttag;
         tagsm = tagsm - 4;   
         tagbits++;
      }
      if (tagsm != 0){
         if(tagsm==3){
            if(newtag.substring(0,tagsm).equals("000")) currenttag= "0" + currenttag;
            if(newtag.substring(0,tagsm).equals("001")) currenttag= "1" + currenttag;
            if(newtag.substring(0,tagsm).equals("010")) currenttag= "2" + currenttag;
            if(newtag.substring(0,tagsm).equals("011")) currenttag= "3" + currenttag;
            if(newtag.substring(0,tagsm).equals("100")) currenttag= "4" + currenttag;
            if(newtag.substring(0,tagsm).equals("101")) currenttag= "5" + currenttag;
            if(newtag.substring(0,tagsm).equals("110")) currenttag= "6" + currenttag;
            if(newtag.substring(0,tagsm).equals("111")) currenttag= "7" + currenttag;
         }
         else if (tagsm==2){
            if(newtag.substring(0,tagsm).equals("00")) currenttag="0" + currenttag;
            if(newtag.substring(0,tagsm).equals("01")) currenttag="1" + currenttag;
            if(newtag.substring(0,tagsm).equals("10")) currenttag="2" + currenttag;
            if(newtag.substring(0,tagsm).equals("11")) currenttag="3" + currenttag;
         }         
         else if (tagsm==1){
            if(newtag.substring(0,tagsm).equals("0")) currenttag="0" + currenttag;
            if(newtag.substring(0,tagsm).equals("1")) currenttag="1" + currenttag;
         }
         tagbits++;
      }
      System.out.println(currenttag + "   " + currentindex);   
   }
A Goldfish has an attention span of 3 seconds...  so do I
~ In the beginning there was nothing, which exploded ~
There are only 10 types of people in the world: Those who understand binary, and those who don't