题解 | #坐标移动#

坐标移动

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

直接粗暴的if——else 刚开始报错一直找不到问题,输出跟预期差了个符号,结果发现是题目和答案的s、w定义完全相反。。。有点糙了

看到答题区大家用的是HashMap,果然选对容器很重要

    public static void main(String [] args){
        Scanner in = new Scanner (System.in);
        String str=in.nextLine();
        String [] s=str.split(";");
        int x=0,y=0;
        String tmp="\\d{1,2}";
        for(int i=0;i<s.length;i++){
            if(s[i].length() > 3 || s[i].length() < 2 ) continue;
            if(s[i].charAt(0)=='A'){
                 if(s[i].substring(1).matches(tmp))
                      x=x-Integer.valueOf(s[i].substring(1));

            }
            else if(s[i].charAt(0)=='S'){
                  if(s[i].substring(1).matches(tmp))
                   y=y-Integer.valueOf(s[i].substring(1));

            }
            else if(s[i].charAt(0)=='W'){
                  if(s[i].substring(1).matches(tmp))
                    y=y+Integer.valueOf(s[i].substring(1));

            }
            else if(s[i].charAt(0)=='D'){
                  if(s[i].substring(1).matches(tmp))
                    x=x+Integer.valueOf(s[i].substring(1));

            }
        } 
        System.out.print(x+","+y);
    }

全部评论

相关推荐

点赞 评论 收藏
分享
头像
11-07 01:12
重庆大学 Java
精致的小松鼠人狠话不多:签哪了哥
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务