PAT 甲级 1001A+B Format Java

    技术2022-07-13  85

    鉴定:容易题。

    法一:Java 自带

    耗时 140 ms。

    import java.util.Scanner; public class Main { public static void main(String[] args){ Scanner in = new Scanner(System.in); System.out.printf("%,d", in.nextInt() + in.nextInt()); } }

    法二:Stack 存储字符串

    耗时 115ms

    import java.util.Scanner; import java.util.Stack; /** * User: Admin * Date: 2020/7/2 * Time: 12:31 * Author: LuoRong * Note: */ public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int sum = in.nextInt() + in.nextInt(); Stack<String> stack = new Stack<>(); /* to record sign */ String res = sum < 0 ? "-" : ""; // check ‘-’ /* to prevent overflow */ if (sum == Integer.MIN_VALUE){ System.out.println("-2,147,483,648"); return; } sum = Math.abs(sum); while (sum >= 1000){ String rem = ((sum % 1000 + 1000) + "").substring(1); stack.add(rem); sum /= 1000; } StringBuilder sb = new StringBuilder(res); sb.append(sum); while (!stack.isEmpty()){ sb.append(","); sb.append(stack.pop()); } System.out.println(sb.toString()); } }
    Processed: 0.017, SQL: 9