Java语言程序设计基础篇_编程练习题*18.23 (将二进制数转换为十进制数)

*18.23 (将二进制数转换为十进制数)

编写一个递归方法,将一个字符串形式的二进制数转换为一个十进制数。方法头如下:

java 复制代码
public static int bin2Dec(String binarystring)

编写一个测试程序,提示用户输入一个二进制字符串,然后显示等价的十进制数。

代码示例

编程练习题18_23BinaryToDecimalConversion.java

java 复制代码
package chapter_18;

import java.util.Scanner;

public class 编程练习题18_23BinaryToDecimalConversion {
	private static int pow = 0;
	private static int decimal = 0;
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		System.out.print("Enter a binary number: ");
		String bin = input.next();
		System.out.println(bin2Dec(bin));
		input.close();
	}
	public static int bin2Dec(String binarystring) {
		if(binarystring.length()==0)
			return decimal;
		char ch = binarystring.charAt(binarystring.length()-1);
		int value = Integer.valueOf(ch+"");
		decimal += value * (int)Math.pow(2, pow);
		pow++;
		return bin2Dec(binarystring.substring(0,binarystring.length()-1));
		
	}

}
输出结果
java 复制代码
Enter a binary number: 10110
22
相关推荐
深盾科技_Virbox6 分钟前
软件交付保护如何从加壳走向代码虚拟化
java·python·安全
学计算机的计算基8 分钟前
二叉树算法下篇:递归核心技巧与高频面试题详解
java·笔记·算法
WZF-Sang8 分钟前
TCP和UDP协议
linux·服务器·网络·c++·学习·tcp/ip·udp
my_power52010 分钟前
大模型概述学习笔记
笔记·学习
心中有国也有家11 分钟前
Flutter 鸿蒙编译与构建流程深度解析
学习·flutter·华为·harmonyos
敲不会代码也学不会英语17 分钟前
【AI学习之旅02】AI全景图:一张图看懂AI生态——机器学习/深度学习/大模型关系与术语扫盲
人工智能·学习·机器学习
Tim_1017 分钟前
【C++】014、左值与右值的区别
开发语言·c++
Liquad Li22 分钟前
Salesforce高级开发面试题
java·网络·面试·crm·salesforce
天空'之城24 分钟前
Linux 系统编程 14:Reactor 反应堆模式
linux·开发语言·网络编程·reactor 反应堆模式
Zhou14113634 分钟前
Java常见面试题7
java·开发语言