题解 | 坐标移动
坐标移动
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);
String s = in.nextLine();
String[] split = s.split(";");
int x = 0;
int y = 0;
for (String s1 : split) {
//先判断指令是否合法
if (isValid(s1)) {
String substring = s1.substring(0, 1);
String substring1 = s1.substring(1);
if ("A".equals(substring)) {
x -= Integer.parseInt(substring1);
}
if ("D".equals(substring)) {
x += Integer.parseInt(substring1);
}
if ("W".equals(substring)) {
y += Integer.parseInt(substring1);
}
if ("S".equals(substring)) {
y -= Integer.parseInt(substring1);
}
}
}
System.out.println(x + "," + y);
}
public static boolean isValid(String s) {
char[] charArray = s.toCharArray();
if (charArray.length < 2) {
return false;
}
if (charArray.length >= 4) {
return false;
}
if (charArray[0] == 'A' || charArray[0] == 'S'
|| charArray[0] == 'D' || charArray[0] == 'W') {
for (int i = 1; i < charArray.length; i++) {
if (charArray[i] < '0' || charArray[i] > '9') {
return false;
}
}
}
return true;
}
}
查看18道真题和解析