题解 | #坐标移动#

import java.util.*;
//提前说明:修改后的版本是查看大佬的代码写的
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    // public static void main(String[] args) {
    //     Scanner sc = new Scanner(System.in);
    //     String line = sc.nextLine();
    //     String[] str = line.split(";");
    //     List<String> res = new ArrayList<>();
    //     boolean flag = false;
    //     for (String s : str) {
    //         flag = false;
    //         if (s.length() == 2 || s.length() == 3) {
    //             int len = s.length();
    //             for (int i = 0; i < len; i++) {
    //                 char ch = s.charAt(i);
    //                 if (i == 0) {

    //                     if (ch != 'A' && ch != 'S' && ch != 'W' && ch != 'D') {
    //                         flag = true;
    //                         break; //当前字符串格式不合法
    //                     }
    //                 }else{
    //                     if (ch >= '0' && ch <= '9') {
    //                         continue;
    //                     } else {
    //                         flag = true;
    //                         break;
    //                     }
    //                 }

    //             }
    //             if (!flag) {
    //                 res.add(s);
    //             }
    //         }

    //     }
    //     int x = 0, y = 0;
    //     for (String s : res) {
    //         //System.out.println(s);
    //         char ch = s.charAt(0);
    //         int i = Integer.valueOf(s.substring(1));
    //         if (ch == 'A') {
    //             x -= i;
    //         } else if (ch == 'S') {
    //             y -= i;
    //         } else if (ch == 'W') {
    //             y += i;
    //         } else if (ch == 'D') {
    //             x += i;
    //         }
    //     }
    //     System.out.println(x+","+y);
    // }
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String line = sc.nextLine();
        String[] str = line.split(";");
        List<String> res = new ArrayList<>();
        boolean flag = false;
        int x=0,y=0;
        for (String s : str) {
           if(!s.matches("[WSAD][0-9]{1,2}")){
                continue;
           }

            char ch = s.charAt(0);
            int i = Integer.valueOf(s.substring(1));
            switch(ch){
                case 'A':
                    x-=i;
                    break;
                case 'S':
                    y-=i;
                    break;
                case 'W':
                    y+=i;
                    break;
                case 'D':
                    x+=i;
                    break;
            }
        }
        System.out.println(x + "," + y);
    }
}

全部评论

相关推荐

我是小红是我:学校换成中南
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务