首页 > 代码库 > 16进制的简单运算

16进制的简单运算

描述现在给你一个16进制的加减法的表达式,要求用8进制输出表达式的结果。

 
输入
第一行输入一个正整数T(0<T<100000)
接下来有T行,每行输入一个字符串s(长度小于15)字符串中有两个数和一个加号或者一个减号,且表达式合法并且所有运算的数都小于31位
输出
每个表达式输出占一行,输出表达式8进制的结果。
样例输入
329+482318be+67844ae1-3d6c
样例输出
441141001026565

 1 import java.util.Scanner; 2  3 public class Main { 4     public static void main(String[] args) { 5         Scanner scanner=new Scanner(System.in); 6         int T; 7         String s; 8         int number1; 9         int number2;10         int sum;11         String sumString;12         String words[];13         String regex;14         15         T=scanner.nextInt();16         17         while(true){18             if(T==0)19                 break;20             T--;21             22             s=scanner.next();23             24             if(s.contains("+")){25                 regex="[+]";26             }27             else28                 regex="[-]";29             30             words=s.split(regex);31             number1=Integer.parseInt(words[0], 16);32             number2=Integer.parseInt(words[1],16);33             34             if(s.contains("+")){35                 sum=number1+number2;36             }37             else38                 sum=number1-number2;39             40             sumString=Long.toOctalString(sum);41             System.out.println(sumString);42         }43     } 44 }

 

 

16进制的简单运算