import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String inputNum = in.nextLine();
String[] inputNums = inputNum.split(";");
int x = 0;
int y = 0;
for (String s : inputNums) {
// 判断是否成功
boolean flag = false;
// 位移量
int locate_temp = 0;
// 存储字符串长度
int sLength_temp = s.length();
// 判断长度是否是 2 或者 3
if (sLength_temp == 2 || sLength_temp == 3) {
// 判断首位是否是 ABCD
if (s.charAt(0) == 'W' || s.charAt(0) == 'A' || s.charAt(0) == 'S' ||
s.charAt(0) == 'D') {
// 判断第二位是否是 数字
if (s.charAt(1) >= '0' && s.charAt(1) <= '9') {
flag = true;
// 判断第三位是否是 数字
if (sLength_temp == 3) {
if (s.charAt(2) >= '0' && s.charAt(2) <= '9') {
flag = true;
} else {
continue;
}
}
} else {
continue;
}
} else {
continue;
}
} else {
continue;
}
// 坐标更新,A表示向左移动,D表示向右移动,W表示向上移动,S表示向下移动
if (flag) {
if (sLength_temp == 2) {
locate_temp = s.charAt(1) - '0';
} else if (sLength_temp == 3) {
locate_temp = (int) (s.charAt(1) - '0') * 10 + (int) (s.charAt(2) - '0');
}
switch (s.charAt(0)) {
case 'A':
x -= locate_temp;
break;
case 'D':
x += locate_temp;
break;
case 'S':
y -= locate_temp;
break;
case 'W':
y += locate_temp;
break;
}
}
}
System.out.println(x + "," + y);
}
}
直接硬解。

京公网安备 11010502036488号