题解 | #坐标移动#

坐标移动

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 orderStr = in.nextLine();
        findStr(orderStr);

    }

    public static void findStr(String rrt) {
        // String rrt = "A10;S20;W10;D30;X;A1A;B10A11;;A10;";
        int sums = 0;
        int[] pos = {0, 0};
        String[] doStr = rrt.split(";");
//      String[] dodd = rrt.split("\\s*;\\s*");as the same of top;
        for (int i = 0; i < doStr.length; i++) {
            String words = doStr[i];
//          System.out.println(words);
            if (!words.equals("")) {
                char x = words.charAt(0);
//          System.out.println("X:"+x);
                if (x == 'A' || x == 'D' || x == 'S' || x == 'W') { //A 左,D右,W上,S下
                    for (int k = 1; k < words.length(); k++) {
                        char data = words.charAt(k);
                        int intData = data - '0';
                        if (intData > 9 || intData < 0) {
//                  isFalse = true;
                            sums = 0;
                            break;
                        }

                        sums += seekPower(intData, words.length() - 1 - k);
                    }
                    switch (x) {
                        case 'A': {
                                pos[0] -= sums;
                                sums = 0;
                                break;
                            }
                        case 'D': {
                                pos[0] += sums;
                                sums = 0;
                                break;
                            }
                        case 'W': {
                                pos[1] += sums;
                                sums = 0;
                                break;
                            }
                        case 'S': {
                                pos[1] -= sums;
                                sums = 0;
                                break;
                            }
                        default:
                            break;
                    }

                }

            }

        }
        System.out.println(pos[0] + "," + pos[1]);
    }

    public static long seekPower(int data, int mi) {
//      System.out.println("data:"+data+"mi:"+mi);
        return (long) Math.pow(10, mi) * data;

    }
}

全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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