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
相关推荐
czc66613 小时前
【项目实战】Redis+RabbitMQ+MySQL双阈值批量异步落库设计
java
进击的荆棘13 小时前
C++起始之路——类和对象(上)
开发语言·c++
眼眸流转13 小时前
Godot学习笔记
笔记·学习·godot
老朱佩琪!13 小时前
在Unity中实现状态机设计模式
开发语言·unity·设计模式
圆弧YH13 小时前
键盘→语言操作
学习
世界宇宙超级无敌究极特级顶级第一非常谱尼13 小时前
RF Power Amplifers for Wireless Communications 第一章学习笔记
笔记·学习·pa·功率放大器·mmic
FuckPatience13 小时前
C# BinarySearch 的返回值
开发语言·数据结构·c#
尼古拉斯·纯情暖男·天真·阿玮13 小时前
[JavaEE初阶] 进程和线程的区别和联系
java·开发语言
dog25014 小时前
让算法去学习,而不是去启发
学习·算法