题解 | #坐标移动#

坐标移动

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

import java.util.Scanner;
import java.util.regex.Pattern;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);


        String input = in.nextLine();

        String[] zbStrArr = input.split(";");

        Integer[] rArr = new Integer[] {0, 0};
        for (String str : zbStrArr) {

            if (str.isEmpty()) {
                continue;
            }
            String inputFlag = str.substring(0, 1);
            // 判断是否无效
            if ( "A".equals(inputFlag) ||
                    "D".equals(inputFlag) ||
                    "S".equals(inputFlag) ||
                    "W".equals(inputFlag) ) {

            } else {
                continue;
            }

            if (str.substring(1).length() > 2 || str.substring(1).length() == 0) {
                continue;
            }

            if (!isNumeric(str.substring(1)) ) {
                continue;
            }

            Integer f = Integer.valueOf(str.substring(1));
            if ("A".equals(inputFlag)) {
                rArr[0] = rArr[0] - f;
                

            } else if ("D".equals(inputFlag)) {
                rArr[0] = rArr[0] + f;

            } else if ("S".equals(inputFlag)) {
                rArr[1] = rArr[1] - f;

            } else if ("W".equals(inputFlag)) {
                rArr[1] = rArr[1] + f;

            }


        }

        System.out.print(rArr[0] + "," + rArr[1]);


    }

    public static boolean isNumeric(String str) {
        Pattern pattern = Pattern.compile("[0-9]*");
        return pattern.matcher(str).matches();
    }


 





}

全部评论

相关推荐

11-04 19:05
已编辑
东莞城市学院 单片机
不知道怎么取名字_:你这个要实习两年?哪有这么久的,感觉就是即使你毕业了,但还按实习的话,是不是不用给你缴社保公积金啥的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务