题解 | #坐标移动#

坐标移动

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


全部评论

相关推荐

03-28 16:43
佛山大学 Java
点赞 评论 收藏
分享
明明就不饿:看不懂你到底会啥,什么岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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