题解 | #坐标移动#

坐标移动

https://www.nowcoder.com/practice/119bcca3befb405fbe58abe9c532eb29

思路:

  1. 通过String的split方法 将输入字符串分割为一个个坐标;
  2. 对于每个坐标,首先运用正则表达式 判断是否为合法坐标:
  • 若为非法坐标,丢弃;
  • 若为合法坐标,根据题目要求移动坐标。

代码:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNextLine()) {
            String str1 = sc.nextLine();
            int x = 0, y = 0;
            String[] strarr = str1.split(";");

            for (int i = 0; i < strarr.length; i++) {
                if (strarr[i].matches("[ADWS][1-9](\\d)?+")) {
                    switch (strarr[i].charAt(0)) {
                        case 'A':
                            x -= Integer.parseInt(strarr[i].substring(1));
                            break;
                        case 'D':
                            x += Integer.parseInt(strarr[i].substring(1));
                            break;
                        case 'W':
                            y += Integer.parseInt(strarr[i].substring(1));
                            break;
                        case 'S':
                            y -= Integer.parseInt(strarr[i].substring(1));
                            break;
                    }
                }
            }
            System.out.println(x + "," + y);
        }
    }
}
#华为机试HJ17#
全部评论

相关推荐

10-27 17:26
东北大学 Java
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务