题解 | #坐标移动#
坐标移动
https://www.nowcoder.com/practice/119bcca3befb405fbe58abe9c532eb29
正则表达式的基础运用。
import java.util.*;
public class Main {
public static void main(String[] args) {
new Main().mainfun();
}
public void mainfun() {
Scanner sc = new Scanner(System.in);
String rex = "^[A-Z]+[0-9]+([0-9])?";
String out = sc.next();
String[] outp = out.split(";");
coor cord = new coor();
for (String item : outp) {
if (item.matches(rex)) {
String fis = item.substring(0, 1);
int gap = Integer.valueOf(item.substring(1, item.length()));
switch (fis) {
case "A":
cord.setX(cord.getX() - gap);
break;
case "S":
cord.setY(cord.getY() - gap);
break;
case "W":
cord.setY(cord.getY() + gap);
break;
case "D":
cord.setX(cord.getX() + gap);
break;
default:
break;
}
}
}
System.out.println(cord.getX() + "," + cord.getY());
}
class coor {
int x = 0;
int y = 0;
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
}
}

