lotus

贵有恒何必三更眠五更起 最无益只怕一日曝十日寒

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  1846 随笔 :: 0 文章 :: 109 评论 :: 288万 阅读

1. 题目

读题

HJ17 坐标移动 

 

考查点

 

2. 解法

思路

 

代码逻辑

 

具体实现

 

public class HJ017 {

public static List<String> directs = Arrays.asList("A", "D", "W", "S");

public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println(move(sc.nextLine()));
}

public static String move(String actions) {
int x = 0, y = 0;
for (String action : actions.split(";")) {
String[] cur = validAndSplit(action);
if (cur == null) {
continue;
}
String direct = cur[0];
int step = Integer.valueOf(cur[1]);

if ("A".equals(direct)) {
x = x - step;
} else if ("D".equals(direct)) {
x = x + step;
} else if ("W".equals(direct)) {
y = y +step;
} else if ("S".equals(direct)) {
y = y -step;
}
}
return x + "," + y;

}


public static String[] validAndSplit(String action) {
if (action == null || action.isEmpty()) {
return null;
}

String c = action.charAt(0) + "";
if (!directs.contains(c)) {
return null;
}

for (int i = 1; i < action.length(); i++) {
if (!Character.isDigit(action.charAt(i))) {
return null;
}
}

return new String[]{c + "", action.substring(1)};
}

}

3. 总结

posted on   白露~  阅读(56)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
历史上的今天:
2022-07-12 20220712-可以尝试的事项 清单
2022-07-12 20220711-就【阳阳和弟弟吵架小事】复盘
2019-07-12 vi命令——修改文件内容
2019-07-12 tomcat-修改端口--号
2019-07-12 tomcat修改端口号
2019-07-12 XShell上传、下载本地文件到linux服务器
点击右上角即可分享
微信分享提示