有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何将字符串转换为int,然后将其发送到其他方法

我试图让从驱动程序中输入的字符串变成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";
      }
  }

共 (3) 个答案

  1. # 1 楼答案

    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);
      }
    
  2. # 2 楼答案

    何时调用convertToBinary函数pass decimalconvertToBinary(decimal)

    public String convertToBinary(int dec)
    { 
        decimal=dec;
    }
    
  3. # 3 楼答案

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

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

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

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