【发布时间】:2015-06-14 07:38:04
【问题描述】:
Comp sci 教授在我们的作业中给了我们这个问题...我不确定如何继续,我编写的代码似乎失败得很惨。提示如下:
(binary to decimal) 编写一个递归方法,将二进制数作为字符串解析为十进制整数。方法头是:
public static String bin2Dec(String binaryString)
编写一个测试程序,提示用户输入二进制字符串并显示其等效的十进制。
非常感谢任何帮助。这是我的代码如下:
import java.util.Scanner;
public class HW04_P5 {
static int index = 0;
static int power = 0;
static int number = 0;
static boolean exit = false;
@SuppressWarnings("resource")
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
System.out.print(" Enter a binary number to convert to decimal: ");
String in = scan.nextLine();
index = in.length()-1;
System.out.print(" Binary number converted to decimal: "+bin2Dec(in));
}
public static String bin2Dec(String in)
{
if((in.substring(index,index+1).equals("1"))&&(index>0))
{
number += Math.pow(2,power);
System.out.print(number);
power++;
index--;
bin2Dec(in);
}
else if((in.substring(index,index+1).equals("0"))&&(index>0))
{
power++;
index--;
bin2Dec(in);
}
System.out.print(number);
return "";
}
}
【问题讨论】:
-
看起来你快到了,但为了简化,我只需查看字符串的最后一位数字,然后将一个新的新字符串传递给
bin2Dec,它是in字符串的子字符串.即不需要index -
你得到什么输出或错误?
标签: java string recursion binary decimal