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
相关推荐
oioihoii12 小时前
Vibe Coding在QT桌面开发中的可行性分析
开发语言·人工智能·qt
码界奇点12 小时前
Tomcat与JDK版本对照全解析避坑指南生产环境选型建议
java·开发语言·容器·jdk·tomcat
后来后来啊12 小时前
2026.1.20学习笔记
笔记·学习
wdfk_prog12 小时前
[Linux]学习笔记系列 --[drivers][base]devtmpfs
linux·笔记·学习
董世昌4112 小时前
js的数据类型有几类?一共有几种?
开发语言·javascript·ecmascript
被星1砸昏头12 小时前
C++中的状态模式实战
开发语言·c++·算法
花姐夫Jun12 小时前
cesium基础学习-坐标系统相互转换及相应的场景
学习·webgl
Remember_99312 小时前
【数据结构】深入理解排序算法:从基础原理到高级应用
java·开发语言·数据结构·算法·spring·leetcode·排序算法
wanzhong233312 小时前
开发日记13-响应式变量
开发语言·前端·javascript·vue
indexsunny12 小时前
互联网大厂Java求职面试实战:Spring Boot微服务与Kafka消息队列场景解析
java·spring boot·面试·kafka·microservices·interview·distributed systems