题解 | #坐标移动#
坐标移动
https://www.nowcoder.com/practice/119bcca3befb405fbe58abe9c532eb29
本题关键在于字符串匹配正则表达式的处理,多复习
str =reader.readLine();
String[] split = str.split(";");
xxyy(split);
主函数----------------------------------------------
处理函数
private static void xxyy(String[] split){
Integer X = 0,Y = 0;//
String regex ="[ADWS][1-9][0-9]?";
//WSAD只能出现一次,第一个字符,第二个字符是正整数两位以内,?第二个数字出现0或者一次
for (String s : split) {
boolean matches = s.matches(regex);
if (matches){
//合法的坐标
String xy = s.substring(0, 1);
Integer num = Integer.parseInt(s.substring(1,s.length()));
if (xy.equals("D")){
X += num;
}
if (xy.equals("A")){
X -= num;
}
if (xy.equals("W")){
Y += num;
}
if (xy.equals("S")){
Y -= num;
}
}
}
//最终坐标,以逗号分隔
System.out.println(X+","+Y);
}//XY
查看23道真题和解析