描述现在给你一个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 }