题解 | #坐标移动#
坐标移动
https://www.nowcoder.com/practice/119bcca3befb405fbe58abe9c532eb29
import java.util.*;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String split = ";";
String str = in.nextLine();
int key = 0 ;
int value =0;
List<Integer> list = new ArrayList<>();
list.add(key);//初始化坐标
list.add(value);
if (str.length()>1 && str.length()<=10000){
String[] strings = str.split(split);//取坐标数组
for (String string : strings) {
//校验格式是否正确
if (string.matches("^[A-Z][0-9]+(\\d{1})*$")) {
String substring = string.substring(1);//截取坐标值
int math = Integer.parseInt(substring);
switch (string.substring(0, 1)) {
case "A":
key = list.get(0) - math;
list.set(0, key);
break;
case "D":
key = list.get(0) + math;
list.set(0, key);
break;
case "W":
value = list.get(1) + math;
list.set(1, value);
break;
case "S":
value = list.get(1) - math;
list.set(1, value);
break;
}
}
}
System.out.println(list.get(0)+","+ list.get(1));
}
}
}
查看2道真题和解析