题解 | #坐标移动#

坐标移动

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

不需要正则表达式的JAVA解法!

  1. 写出合法的坐标移动过程后,再根据题目要求,类似“剪枝”,剔掉不合法的即可。
import java.util.Scanner;

/**
 * @author m
 * @Description
 * @creat 2021-07-14
 */
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String str = sc.nextLine();
        String[] s = str.split(";");
        int x=0,y=0;
        for(int i=0;i<s.length;i++){

            //0.排除空字符串
            if(s[i] == null) continue;
            //1.排除长字符串
            if(s[i].length()>3 || s[i].length()<2){
                continue;
            }
            //2.排除长度符合要求,但不合法的字符串
            String numStr = s[i].substring(1,s[i].length());
            if(numStr.contains("A") || numStr.contains("D")||numStr.contains("W")||numStr.contains("S")) continue;

            int num = Integer.parseInt(numStr);
            if(s[i].charAt(0) == 'A'){
                if(num<100 && num>=0) x -= num;//排除出现多个字母的情况
            }
            if(s[i].charAt(0) == 'D'){
                if(num<100 && num>=0) x += num;
            }
            if(s[i].charAt(0) == 'W'){
                if(num<100 && num>=0)  y += num;
            }
            if(s[i].charAt(0) == 'S'){
                if(num<100 && num>=0) y -= num;
            }
        }

        System.out.println(x+","+y);

    }

}
全部评论

相关推荐

我是没经验的毕业生,这啥情况啊会不会是hr在刷kpi
JamesGosli...:字节boss属于是群发了,我都快入职字节了,其他部门还在和我boss打招呼
点赞 评论 收藏
分享
06-17 21:57
门头沟学院 Java
白友:噗嗤,我发现有些人事就爱发这些,明明已读不回就行了,就是要恶心人
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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