java 作业题0 十进制向任意进制转换

递归:

import java.util.Scanner;
//import java.util.*;


public class Main {
   
     public static String f(int base,int num){
            String str="";
            String wait="0123456789abcdef";
            if(num==0){
                return "";
            }
            else{
                str = f(base,num/base);
                return str+wait.charAt(num%base);
            }

        }

        public static void main(String[] args) {
            Scanner inp = new Scanner(System.in);
            System.out.println("想转化的十进制数:");
            int input_10= inp.nextInt();
            System.out.println("想转化的进制(2-16之间)");
            int input_base= inp.nextInt();
            System.out.println("转化为"+input_base+"进制的结果是1");
            System.out.println(f(input_base,input_10));
        }

}

 

 

 迭代:

package Test;
import java.util.Scanner;
//import java.util.*;


public class Main {
   
     public static String conversion(int num ,int base)
     {
            String str = "";
            int remainder;//余数
            int consult = num;//
            while (consult > 0) 
            {
                remainder = num % base;
                consult = consult / base;
                if (remainder > 9)
                {
                    str = (char) ('a' + (remainder - 10)) + str;

                } 
                else 
                {
                    str = remainder + str;
                }

            }
                return str;

        }

        public static void main(String[] args) {
            Scanner inp= new Scanner(System.in);
            System.out.println("要转化的十进制数");
            int input_num = inp.nextInt();
            System.out.println("想转化的进制");
            int input_base = inp.nextInt();
            System.out.println(conversion(input_num,input_base));


        }
    }

 

 

 

posted @ 2020-12-16 09:50  然终酒肆  阅读(117)  评论(0编辑  收藏  举报