题解 | #坐标移动#
坐标移动
https://www.nowcoder.com/practice/119bcca3befb405fbe58abe9c532eb29
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 while (in.hasNextLine()) { // 注意 while 处理多个 case String actions = in.nextLine(); String[] split = actions.split(";"); int x = 0; int y = 0; for (String a : split) { Action action = getAction(a); if (action != null) { switch (action.action) { case "A": x -= action.step; break; case "D": x += action.step; break; case "W": y += action.step; break; case "S": y -= action.step; break; } } } System.out.println(x + "," + y); } } public static class Action { String action; int step; } public static Action getAction(String a) { if (a != null) { boolean b = a.startsWith("A") || a.startsWith("D") || a.startsWith("W") || a.startsWith("S"); if (b) { try { int i = Integer.parseInt(a.substring(1, a.length())); Action action = new Action(); action.step = i; action.action = a.substring(0, 1); return action; } catch (Exception e) { return null; } } } return null; } }