简体   繁体   中英

Questions about easy “return” in JAVA

I want to make a code which has function of changing binary to decimal.

So i made a public long tonum()

and tried to return on Main method.

but there is anything shown on screen. Where is the problem? Plz give me some hints.

public class Bitmap { 
       byte[] byteArr; //byte array for saving 0 or 1 
       char[] charArr; //char array for casting from string to byte array 

    public static void main(String[] args) throws Exception { 
          Bitmap test1 = new Bitmap("100110"); 
          test1.tonum();              
       } 
    public Bitmap(String val) throws Exception {  
              byteArr = new byte[val.length()];  //To make the array length of Bitmap should e same as that of string
              charArr = val.toCharArray();       //casting from string to char 

              for(int i = 0; i < charArr.length; i++) { 
                 if (charArr[i] == '0')  
                     byteArr[i] = 0; 
                 else if (charArr[i] == '1') 
                     byteArr[i] = 1; 
                 else throw new Exception("Bitmap are should be sequences of zeros and ones!"); 
              } 
           } 

    public long tonum() {
       int temp = 0;
       String str = "";
       String str2 = "";
       for (int i = 0; i < this.byteArr.length; i++){
           temp = this.byteArr[i];
           str = Integer.toString(temp);
           str2 = str2 + str;
       }
       long decimal = (long)Integer.parseInt(str2,10);
       System.out.println(str2);
       return decimal;
   }
}
       long decimal = (long)Integer.parseInt(str2,10);

That doesn't change binary to decimal. It changes decimal to binary. And you don't have decimal in the first place, you have a string or presentation of binary. Try a radix of 2. But why you have both a char array and a byte array when all you do is deconstruct and reconstruct the original String is anybody's guess.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM