题解 | #坐标移动#

坐标移动

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

import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        String originStr = scan.nextLine();
        String[] strs = originStr.split(";");
        int[] currentLocation = new int[2]; // 定义一个一维数组,用于存放当前所在的位置
        Arrays.fill(currentLocation, Integer.valueOf(0)); // 初始化,初始时所在的位置的坐标为 (0, 0)
        for (String str : strs) { // 获取每一步的移动
            // 如果当前坐标的长度小于 2 或者大于 3,那么我们认为这是无效的,直接跳过当次循环
            if (str.length() < 2 || str.length() > 3) {
                continue;
            }
            char direction = str.charAt(0); // 获取移动的方向
            // 如果移动的方向不是上下左右四个方向的任意一个,那么我们认为当次移动无效,跳过当次循环
            if (!(direction == 'A' || direction == 'D' || direction == 'W' || direction == 'S')) {
                continue;
            }
            String stepsStr = str.substring(1); // 获取在当前方向上移动的步数
            int sign = 0; // 定义一个整型变量, 用于存放当前移动的步数是否合法
            int steps = 0;
            try {
                steps = Integer.valueOf(stepsStr); // 尝试将 String 类型转换为 int 类型
            } catch (Exception e) { // 如果抛出异常,证明步数不合法
                sign = 1;
            } finally {
                steps = steps;
            }
            if (sign == 1) { // 如果当前移动的步数不合法,直接跳过当次循环
                continue;
            }
            switch (direction) {
                case 'A':
                    currentLocation[0] -= steps;
                    break;
                case 'D':
                    currentLocation[0] += steps;
                    break;
                case 'W':
                    currentLocation[1] += steps;
                    break;
                default:
                    currentLocation[1] -= steps;
            }
        }
        System.out.println(currentLocation[0] + "," + currentLocation[1]);
    }
}
全部评论
该牛油正在参与牛客写题解薅羊毛的活动,牛币,周边,京东卡超多奖品放送,活动进入倒计时!快来捡漏啦https://www.nowcoder.com/discuss/888949?source_id=profile_create_nctrack&channel=-1
点赞 回复 分享
发布于 2022-04-20 16:38

相关推荐

整顿职场的柯基很威猛:这种不可怕,最可怕的是夹在一帮名校里的二本选手,人家才是最稳的。
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务