question:A+ B again
思路:额,没啥思路/捂脸,用java的long包里的方法,很简单,只是有几次WA,有几点要注意一下
注意:如果数字有加号要删除掉,这里用到了正则表达式“\+”来匹配加号(我在自己的电脑里不用删除加号也可以通过,杭电oj上就过不了,必须要加这个……)
source code:
package hduoj; import java.util.Scanner; public class hdoj_2057 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while(sc.hasNext()){ String the_first = sc.next(); String the_last = sc.next(); long the_first_one = Long.parseLong(the_first.replaceAll("\+",""),16); long the_last_one = Long.parseLong(the_last.replaceAll("\+",""),16); long sum = the_first_one + the_last_one; //String the_res = Integer.toHexString(Math.abs(sum)).toUpperCase(); if(sum<0){ System.out.println("-" + Long.toHexString((-1)*sum).toUpperCase()); }else{ System.out.println(Long.toHexString(sum).toUpperCase()); } } } }
注:代码已经AC,贴上来的是在自己编译器里的,需要改关键字
希望对大家有所帮助
以上