黑马程序员技术交流社区

标题: 编写方法实现二进制和十进制的转换 [打印本页]

作者: 爬行者    时间: 2018-10-2 22:02
标题: 编写方法实现二进制和十进制的转换
  1. import java.util.ArrayList;
  2. public class TopicTwo {
  3.     public static void main(String[] args) {
  4.         System.out.println(fun(88));
  5.         System.out.println("==============");
  6.         System.out.println(funn(111));
  7.     }
  8.     //定义方法 给一个十进制数返回其二进制数
  9.     public static int fun(int num){
  10.         ArrayList<Integer> list=new ArrayList<>();
  11.         String str="";
  12.         //取余数(反向遍历就为其二进制数)
  13.         for (int i=2;num>0;){
  14.             list.add(num%2);
  15.             num=num/i;
  16.         }
  17.         for (int i=list.size()-1;i>=0;i--){
  18.             str=str+list.get(i);
  19.         }
  20.        return Integer.parseInt(str);//将int型字符串转换成数字,如果出现非int型会出现异常
  21.     }
  22.     //给定二进制转换成十进制
  23.     public static int funn(int num){
  24.         String str=""+num;
  25.         int sum=0;
  26.         for (int i=str.length()-1;i>=0;i--){
  27.             sum+=Integer.parseInt((""+str.charAt(i)))*Math.pow(2,str.length()-1-i);
  28.         }
  29.       return sum;
  30.     }
  31. }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2