题解 | #坐标移动#

坐标移动

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

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        String str= in.nextLine();
        String[] split = str.split(";");

        int x=0,y=0;
        for(int i=0;i<split.length;i++){
            if(split[i].length()<=1){
                continue;
            }
            char ch = split[i].charAt(0);
            int move=0;
            try {
                move = Integer.parseInt(split[i].substring(1));
            }catch(Exception e){
                continue;
            }
            switch(ch){
                case 'A':
                    x-=move;
                    break;
                case 'S':
                    y-=move;
                    break;
                case 'W':
                    y+=move;
                    break;
                case 'D':
                    x+=move;
                    break;
                default:
                    break;
            }
        }
        System.out.println(x+","+y);
    }
}

1、使用string的split方法进行切分

2、切分的字符串长度必须大于1

3、类型转换需要注意异常

4、使用switch加快处理速度

全部评论

相关推荐

牛至超人:哈工大已经很棒了,不需要加括号了,然后咋没有实习经历呢?火速趁寒假整一段实习,导师不让就狠狠肘击
投了多少份简历才上岸
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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