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
相关推荐
asdzx6719 小时前
告别手动校对:使用 Python 对比两个 PDF 文档的差异
开发语言·python·pdf
大大杰哥19 小时前
DAG 学习笔记:从拓扑排序到并行执行
java
Rust研习社19 小时前
Rust 操作 Redis 从入门到生产级应用
开发语言·redis·后端·rust
2501_9130613419 小时前
JVM虚拟机——面试中的八股文(下)
java·jvm·面试
不灭锦鲤19 小时前
网络安全学习第98天
学习·安全
京师20万禁军教头19 小时前
36面向对象(高级)-类变量(静态变量)和类方法(静态方法)
java
deviant-ART19 小时前
HttpServletResponse 中 Header 与 OutputStream 的正确使用顺序(避坑指南)
java·后端·servlet
JAVA面经实录91719 小时前
Spring AI 高频开发万能 Prompt 合集 + 生产级工具类
java·人工智能·spring·prompt
xyq202419 小时前
Memcached stats items 命令详解
开发语言
Evand J20 小时前
【MATLAB例程】多传感器协同DOA目标跟踪与EKF滤波,输出动态目标轨迹、轨迹误差对比分析
开发语言·matlab·目标跟踪·滤波·定位·导航