题解 | #坐标移动#
坐标移动
https://www.nowcoder.com/practice/119bcca3befb405fbe58abe9c532eb29
import java.util.Scanner; import java.util.regex.Pattern; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); String input = in.nextLine(); String[] zbStrArr = input.split(";"); Integer[] rArr = new Integer[] {0, 0}; for (String str : zbStrArr) { if (str.isEmpty()) { continue; } String inputFlag = str.substring(0, 1); // 判断是否无效 if ( "A".equals(inputFlag) || "D".equals(inputFlag) || "S".equals(inputFlag) || "W".equals(inputFlag) ) { } else { continue; } if (str.substring(1).length() > 2 || str.substring(1).length() == 0) { continue; } if (!isNumeric(str.substring(1)) ) { continue; } Integer f = Integer.valueOf(str.substring(1)); if ("A".equals(inputFlag)) { rArr[0] = rArr[0] - f; } else if ("D".equals(inputFlag)) { rArr[0] = rArr[0] + f; } else if ("S".equals(inputFlag)) { rArr[1] = rArr[1] - f; } else if ("W".equals(inputFlag)) { rArr[1] = rArr[1] + f; } } System.out.print(rArr[0] + "," + rArr[1]); } public static boolean isNumeric(String str) { Pattern pattern = Pattern.compile("[0-9]*"); return pattern.matcher(str).matches(); } }