题解 | #坐标移动#
坐标移动
https://www.nowcoder.com/practice/119bcca3befb405fbe58abe9c532eb29
import java.util.*;
public class Main {
static int x = 0;
static int y = 0;
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
while (in.hasNext()) { // 注意 while 处理多个 case
String s = in.nextLine();
String[] words = s.split(";");
for (String word : words) {
if (validate(word)) {
handle(word);
}
}
System.out.println(x+ "," + y);
}
}
private static void handle(String str) {
String dir = str.substring(0,1);
int num = Integer.parseInt(str.substring(1));
switch (dir) {
case "A": x -= num ; break;
case "D": x += num; break;
case "W": y += num; break;
case "S": y -= num; break;
}
}
private static boolean validate (String str){
if (str.length() == 0) return false;
String dir = str.substring(0,1);
String num = str.substring(1);
if (!dir.equals("A") &&
!dir.equals("D") && !dir.equals("W") && !dir.equals("S") ) {
return false;
}
try {
Integer integer = Integer.parseInt(num);
if (integer < 100){
return true;
}
} catch (Exception e) {
return false;
}
return true;
}
}


