Java 递归方法构造
我的问题是: 编写一个名为Java 递归方法构造,java,eclipse,recursion,Java,Eclipse,Recursion,我的问题是: 编写一个名为binaryToDecimal的递归方法。该方法应将二进制位字符串转换为以10为基数的整数。从我们的RecursionExamples类中调用对象的示例如下 answer = example.binaryToDecimal("101111") 返回的整数是47 我需要帮助来解决这个问题。我知道这将是一个if-else循环,但如何进行却让我感到困惑。(这是Eclipse环境)。< P>如果你想递归地解决它,考虑二进制字符串,你可以把它转换成一个整数,根据最右边的数字加上
binaryToDecimal
的递归方法。该方法应将二进制位字符串转换为以10为基数的整数。从我们的RecursionExamples
类中调用对象的示例如下
answer = example.binaryToDecimal("101111")
返回的整数是47
我需要帮助来解决这个问题。我知道这将是一个if-else循环,但如何进行却让我感到困惑。(这是Eclipse环境)。< P>如果你想递归地解决它,考虑二进制字符串,你可以把它转换成一个整数,根据最右边的数字加上1或0,根据这个字符串的其余部分加上这个函数的2倍。< /P> 它在伪代码中看起来像这样
// input is an integer of 1's and 0's
def f( int binaryString ):
int lastDigit = binaryString % 10 // Get the last digit
int restOfString = binaryString / 10 // Remove the last digit
return lastDigit + (2 * f(restOfString)) // add the last digit to twice f
// applied to the rest of the string
你还必须检查字符串的其余部分是否被作为结尾条件,但这是该方法的基本逻辑。
< P>如果你想递归地解决它,考虑二进制字符串,你可以把它转换成一个整数,根据最右边的数字加1或0,基于字符串的其余部分添加2次此函数 它在伪代码中看起来像这样// input is an integer of 1's and 0's
def f( int binaryString ):
int lastDigit = binaryString % 10 // Get the last digit
int restOfString = binaryString / 10 // Remove the last digit
return lastDigit + (2 * f(restOfString)) // add the last digit to twice f
// applied to the rest of the string
您还必须检查字符串的其余部分何时作为结束条件缩减为零,但这是该方法的基本逻辑。您想要做的很简单:
public int binToDec(String binary)
{
if (end_conditions) return int
int lastDigit = Integer.process
String restOfString = binary.substring
return lastDigit + 2* binToDec(restOfString);
}
您想做的很简单:
public int binToDec(String binary)
{
if (end_conditions) return int
int lastDigit = Integer.process
String restOfString = binary.substring
return lastDigit + 2* binToDec(restOfString);
}
你应该展示你迄今为止所做的努力。此外,“我知道这将是一个for-else循环…”如果需要递归,可能不会。您应该展示您迄今为止所做的尝试。另外,“我知道这将是一个for-else循环…”如果它需要递归的话,可能不会。怎么会这样呢?这是您试图编写的方法,只是它是伪代码,而不是java,并且您希望输入字符串不是整数,所以可以将其转换为数字,或者使用
string
的substring
方法来实现相同的语义目标。我将简要介绍我的想法。我可以看到这是如何工作的,但它面临着范围问题,这是怎么回事?这是您试图编写的方法,只是它是伪代码,而不是java,并且您希望输入字符串不是整数,所以可以将其转换为数字,或者使用string
的substring
方法来实现相同的语义目标。我将简要介绍我的想法。我可以看到这是如何工作的,但它有很多问题。谢谢你们两位的帮助。这些递归方法非常感谢你们两位的帮助。这些递归方法bug meI将指出,为家庭作业问题提供有效的解决方案是一种糟糕的形式。然后我看了看代码::-)我想指出的是,为家庭作业问题提供有效的解决方案是一种糟糕的形式。然后我看了看代码::-)