码迷,mamicode.com
首页 > 其他好文 > 详细

10进制转换成8进制

时间:2017-04-04 13:41:21      阅读:162      评论:0      收藏:0      [点我收藏+]

标签:之间   bsp   util   nbsp   string   import   ack   span   sys   

package cast;

import java.util.Collections;
import java.util.LinkedList;
import java.util.List;

public class Cast {
    //测试
    public static void main(String[] args) {
        int a = Cast.castNum(100);
        System.out.println(a);
        
    }
    
    //10进制转换成8进制
    public static int castNum(int key){
        List<Integer> lists = new LinkedList<Integer>();
        int num = 0;
        boolean flag = true;
        
        if(key<0){
            return -1;//若是负值则返回-1
        }else if(key<8){//若是在0-8之间直接返回当前数
            return key;
        }
        
        while(flag){//若是大于等于8则进行转换
            num = key%8;//取余
            lists.add(num);//添加进集合
            key = key/8;//取整数商
            if(key==0){//当k=0时,跳出循环
                flag = false;
            }
        }
        
        if(!flag){//跳出循环就进行转换
            Collections.reverse(lists);//集合反转
            StringBuffer sb = new StringBuffer();
            for(int l:lists){
                sb.append(l);//转换成StringBuffer
            }
            key = Integer.parseInt(new String(sb));//转换成int型
        }
        return key;
    }

}

10进制转换成8进制

标签:之间   bsp   util   nbsp   string   import   ack   span   sys   

原文地址:http://www.cnblogs.com/sunzb/p/6664673.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!