题解 | #坐标移动#
坐标移动
https://www.nowcoder.com/practice/119bcca3befb405fbe58abe9c532eb29
import java.util.*; import java.io.*; public class Main{ public static void main(String[] args) throws IOException { BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); String[] in = bf.readLine().split(";");//分隔字符 int x = 0; int y = 0; //确认初始坐标 for(String s : in){//遍历 // 不满足题目给定坐标规则 if(!s.matches("[WASD][0-9]{1,2}")){/*正则过滤 []用于匹配一组字符中的任意一个。例如,[abc]可以匹配a、b或者c。 还可以用范围表示,如[a-z]匹配小写字母,[A-Z]匹配大写字母,[0-9]匹配数字。 表示前面的元素出现次数在n到m之间(包括n和m)。例如,a{1,3}可以匹配a、aa、aaa。*/ continue; } int val = Integer.valueOf(s.substring(1));//截取字符串从1的位置到末尾 switch(s.charAt(0)){ /*用于获取字符串 s 中索引为 0 的字符的方法。例如,如果 s = "hello",那么 s.charAt (0) 将返回 "h"。*/ case 'W': y += val; break; case 'S': y -= val; break; case 'A': x -= val; break; case 'D': x += val; break; } } System.out.println(x+","+y); } }