报....................江湖急救,求大神赐一段代码!!!1

键盘输入一组十六进制的数据,转换成十进制。注意:输入一组数据,转换出来后也是一组数据

Integer.valueOf("要转换的十六进制数",16).


import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Test {
    public static void main(String[] args) throws Exception {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        String line = null;
        while(true){
            System.out.println("请输入16进制数字,以空格隔开,-----输入bye结束");
            line = reader.readLine().trim();
            if(line.equals("bye")){
                System.out.println("bye !!!!");
                break;
            }

            String[] arr = line.split("\\s");
            for(String s :arr){
                System.out.print(Integer.valueOf(s, 16) + "\t");
            }
            System.out.println();
        }
    }
}

 #include<iostream>
using namespace std;
#include<string>
#include<cmath>

void  hexadecimal_to_decimalism(string num,int & decimalism_num)
{
    /*
    十六进制数的第0位的权值为16的0次方,第1位的权值为16的1次方,第2位的权值为16的2次方……
    所以,在第N(N从0开始)位上,如果是是数 X (X 大于等于0,并且X小于等于 15,即:F)表示的大小为 X * 16的N次方。
    假设有一个十六进数 2AF5, 那么如何换算成10进制呢?
    用竖式计算: 2AF5换算成10进制:
    第0位: 5 * 16^0 = 5
    第1位: F * 16^1 = 240
    第2位: A * 16^2 = 2560
    第3位: 2 * 16^3 = 8192 +
    ------------------------------
    10997
    */
    int i;
    int index = num.length()-1;        //存放每个数的权值

    for (i = 0; i < num.length(); i++)
    {
        int temp = 0;
        if (num[i] >= 'a' && num[i] <= 'z')
        {
            temp = 10 + (num[i] - 'a');
        }
        else if (num[i] >= 'A' && num[i] <= 'Z')
        {
            temp = 10 + (num[i] - 'A');
        }
        else if (num[i] >= '0' && num[i] <= '9')
        {
            temp = num[i] - '0';
        }
        else {
            cout << "还有非法字符" << endl;
            return;
        }
        decimalism_num += (int)(temp*pow(16, index));
        index--;
    }
}

int main()
{
    cout << "请输入十六进制数:";
    string hexadecimal_num;        //存放十六进制数据
    cin >> hexadecimal_num;
    int decimalism_num=0;            //存放十进制数据
    hexadecimal_to_decimalism(hexadecimal_num, decimalism_num);   //转换函数
    cout << "转换后的十进制数为:";
    cout << decimalism_num << endl;
    system("pause");
    return 0;

}

图片说明