题解 | #坐标移动#
坐标移动
https://www.nowcoder.com/practice/119bcca3befb405fbe58abe9c532eb29
思路:
- 通过String的split方法 将输入字符串分割为一个个坐标;
- 对于每个坐标,首先运用正则表达式 判断是否为合法坐标:
- 若为非法坐标,丢弃;
- 若为合法坐标,根据题目要求移动坐标。
代码:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNextLine()) {
String str1 = sc.nextLine();
int x = 0, y = 0;
String[] strarr = str1.split(";");
for (int i = 0; i < strarr.length; i++) {
if (strarr[i].matches("[ADWS][1-9](\\d)?+")) {
switch (strarr[i].charAt(0)) {
case 'A':
x -= Integer.parseInt(strarr[i].substring(1));
break;
case 'D':
x += Integer.parseInt(strarr[i].substring(1));
break;
case 'W':
y += Integer.parseInt(strarr[i].substring(1));
break;
case 'S':
y -= Integer.parseInt(strarr[i].substring(1));
break;
}
}
}
System.out.println(x + "," + y);
}
}
}
#华为机试HJ17#