写出一个程序,接受一个十六进制的数值字符串,输出该数值的十进制字符串点击打开查重,在点击关闭

写出一个程序,接受一个十六进制的数值字符串,输出该数值的十进制字符串点击打开查重,在点击关闭

下面是我的代码:

import java.util.Scanner;

public class Main {

public static void main(String[] args) {

Scanner scanner = new Scanner(http://System.in);

String str = null ;

while(scanner.hasNextLine()){

int num = 0;

int exp;

str = scanner.nextLine().toLowerCase();

for (int j = 2; j <str.length(); j++) {

exp = (int)Math.pow(16, str.length()-j-1);

if ('a'<=str.charAt(j)&&str.charAt(j)<='z') {

Math.pow(16, j-2);

num += (str.charAt(j)-87)*exp;

} else {

num += (str.charAt(j)-48)*exp;

}

}

System.out.println(num);

}

scanner.close();

}

}

运行结果如下:
写出一个程序,接受一个十六进制的数值字符串,输出该数值的十进制字符串点击打开查重,在点击关闭

这个题目我们可以总结到如下的知识点:
从字符串中寻找下一个输入:scanner.hasNextLine()

把字符串全部变成小写:scanner.toLowerCase()

把字符串全部变成大写:scanner.toUpperCase()

指数函数的使用:Math.pow(16, j-2);

当然在这个题目中,我还用到了字符之间大小的比较,这样方便转化。

上一篇:常见的装置与其在Linux当中的档名


下一篇:正则表达式的使用