繁体   English   中英

如何将字符串获取到 int 然后将其发送到不同的方法

[英]How to get an string to an int then send it to a different method

我试图让来自我的驱动程序的字符串变成一个 int,而不是发送到 convertToBinary(),这样它就可以用来计算二进制文件。 任何帮助都会很棒!

   class DecimalBinary   {

      private String decimal = "0";
      private String binary = "";

      public void setDecimal(String decimal){
         int intdecimal = Integer.parseInt(decimal);
         convertToBinary();
      }

      public String convertToBinary(){
         int pow = 128;
         intdecimal = 0;


         while (intdecimal > 0){

            if (intdecimal >= pow){
              binary += "1";
              intdecimal = intdecimal - pow;
            } 
            else if (intdecimal < pow){
                binary += "0";
            }
         pow = pow / 2;

         }

      return binary;
      }

      public String  toString(){
          return decreturn + " is " + binary + " in binary";
      }
  }

实际上有一种方法可以转换为二进制字符串! 您的方法可以简化为

private String binary;

public void setDecimal(String decimal){
   int intdecimal = Integer.parseInt(decimal);
   binary = Integer.toBinaryString(intdecimal);
}

但是,如果你想坚持自己的二进制转换方法,那么,正如第一个答案所说,你需要传递一个参数。

问题是您的setDecimal方法中的intdecimal变量与您的转换方法中的intdecimal

您的 convert 方法首先需要一个参数:

public String convertToBinary(int decimal){
     int pow = 128;

     while (decimal > 0){

        if (decimal >= pow){
          binary += "1";
          decimal = decimal - pow;
        } 
        else if (decimal < pow){
            binary += "0";
        }
     pow = pow / 2;

     }

  return binary;
  }

然后像这样被调用:

  public void setDecimal(String decimal){
     int intdecimal = Integer.parseInt(decimal);
     convertToBinary(intdecimal);
  }

你什么时候调用convertToBinary function pass decimal convertToBinary(decimal)

public String convertToBinary(int dec)
{ 
    decimal=dec;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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