package p2.线性结构;//顺序栈实现十六进制转十进制publicclassHexToDec{publicstaticvoidmain(String[] args){
String hex ="9FBF1";
ArrayStack<Character> stack =newArrayStack<>();for(int i =0;i<hex.length();i++){
stack.push(hex.charAt(i));//charAt(i)取字符串中的第i个字符}int sum =0;int mi =0;//表示幂while(!stack.isEmpty()){char c = stack.pop();
sum +=getNumber(c)* Math.pow(16, mi);
mi++;}
System.out.println(sum);}privatestaticintgetNumber(char c){if(!(c >='0'&& c<='9'|| c>='A'&& c<='F')){thrownewIllegalArgumentException("wrong char");}if(c >='0'&& c <='9'){return c -'0';}else{return c -'A'+10;}}}