题解 | #坐标移动#

坐标移动

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

总体思路:把接收的字符串使用split处理成为;分割的多个子串,循环遍历所有子串,子串不合法的直接跳过,子串合法的对横纵坐标进行相应的操作。(处理子串分为处理首字母和首字母后的数字,用多个if判断子串的合法性)

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String str = in.nextLine();
        int  strnum, x = 0, y = 0;
        String str1[] = str.split(";");
        for (int i = 0; i < str1.length; i++) {   //依据分割出的子串次数循环
            if (str1[i] != "" && str1[i].length() > 1 &&str1[i].substring(1) != "") {//首先判断不是空串,并且串的长度大于1(不判断这一步会导致str1[i].substring(1) != ""抛异常,当处理字符串长度为1的串时),最后判断首字母后的串不为空
                if (str1[i].charAt(0) == 'A' || str1[i].charAt(0) == 'W' ||
                        str1[i].charAt(0) == 'S' || str1[i].charAt(0) == 'D') {
                        try {
                            strnum = Integer.parseInt(str1[i].substring(1));//没抓到异常代表首字母后的数字合法不带有字母。
                            if (str1[i].charAt(0) == 'A') {
                                x = x  - strnum;
                            }
                            if (str1[i].charAt(0) == 'W') {
                                y = y  + strnum;
                            }
                            if (str1[i].charAt(0) == 'S') {
                                y = y  - strnum;
                            }
                            if (str1[i].charAt(0) == 'D') {
                                x = x  + strnum;
                            }
                        } catch (NumberFormatException
                                     e) {                         //如果抓异常证明后面的不是合法的纯数字

                        }
                }
            }

        }
        System.out.println(x + "," + y);
    }
}
//有不合理出敬请指出。

#刷题##java##华为OD#
全部评论

相关推荐

01-18 09:26
已编辑
门头沟学院 Java
王桑的大offer:建议中间件那块写熟悉即可,写掌握 面试包被拷打到昏厥
点赞 评论 收藏
分享
穿件外套出门:这简历一眼太水了,前面有的没的直接删,写项目亮点
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
正在热议
更多
# 听劝,这个简历怎么改 #
14086次浏览 182人参与
# 面试被问“你的缺点是什么?”怎么答 #
6359次浏览 98人参与
# 水滴春招 #
16389次浏览 346人参与
# 入职第四天,心情怎么样 #
11310次浏览 63人参与
# 租房找室友 #
8021次浏览 53人参与
# 读研or工作,哪个性价比更高? #
26152次浏览 356人参与
# 职场新人生存指南 #
199211次浏览 5509人参与
# 参加完秋招的机械人,还参加春招吗? #
26977次浏览 276人参与
# 文科生还参加今年的春招吗 #
4108次浏览 31人参与
# 简历无回复,你会继续海投还是优化再投? #
48624次浏览 561人参与
# 你见过最离谱的招聘要求是什么? #
144719次浏览 829人参与
# 如果重来一次你还会读研吗 #
155716次浏览 1706人参与
# 机械人选offer,最看重什么? #
69077次浏览 449人参与
# 选择和努力,哪个更重要? #
44292次浏览 493人参与
# 如果再来一次,你还会学硬件吗 #
103645次浏览 1245人参与
# 如果你有一天可以担任公司的CEO,你会做哪三件事? #
20520次浏览 413人参与
# 招聘要求与实际实习内容不符怎么办 #
46727次浏览 494人参与
# 22届毕业,是读研还是拿外包offer先苟着 #
4652次浏览 27人参与
# 你们的毕业论文什么进度了 #
901248次浏览 8961人参与
# 软开人,你觉得应届生多少薪资才算合理? #
81375次浏览 496人参与
# 国企还是互联网,你怎么选? #
109191次浏览 853人参与
牛客网
牛客企业服务