首页 > 其他分享 >HJ17 坐标移动

HJ17 坐标移动

时间:2023-07-12 21:33:29浏览次数:67  
标签:null return String HJ17 direct 坐标 action 移动 public

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. 总结

标签:null,return,String,HJ17,direct,坐标,action,移动,public
From: https://www.cnblogs.com/shoshana-kong/p/17548646.html

相关文章

  • Python Web:创建、删除、复制、移动文件及目录命令Python Web篇学习汇总:
    1.创建、删除文件及目录命令的使用命令说明touch文件名创建指定文件mkdir目录名创建目录(文件夹)rm文件名或者目录名删除指定文件或者目录rmdir目录名删除空目录touch命令效果图:mkdir命令效果图:rm命令效果图:rm删除目录效果图 说明:rm命令想要删除目录需要加上-r选项,-r表示......
  • css实现自动适配移动端的效果
    css实现自动适配移动端的效果使用的库使用到的库lib-flexible使用方法使用script标签引入<scriptsrc="http://g.tbcdn.cn/mtb/lib-flexible/{{version}}/??flexible_css.js,flexible.js"></script>使用注意事项!!!使用前必须要清掉html中的以下标签代码,不然生效不了......
  • QPainter的坐标变换
    QTQPainter坐标系统和坐标变换_qpainter的translate函数_木士易的博客-CSDN博客......
  • 【ChernoC++笔记】移动赋值运算符
    【90】【ChernoC++】【中字】stdmove与移动赋值操作符▶️移动构造与std::move接上节的String类,我们可以通过string来构造新的对象dest://拷贝构造Stringstring="Hello";Stringdest=string;为了使用移动构造函数,string需要cast为临时变量://移动构造Stringdest=(s......
  • 移动端APP组件化架构实践
    前言对于中大型移动端APP开发来讲,组件化是一种常用的项目架构方式。个人最近几年在工作项目中也一直使用组件化的方式来开发,在这过程中也积累了一些经验和思考。主要是来自在日常开发中使用组件化开发遇到的问题以及和其他开发同学的交流探讨。本文通过以下问题来介绍组件化这种......
  • 移动端APP组件化架构实践 | 京东云技术团队
    前言对于中大型移动端APP开发来讲,组件化是一种常用的项目架构方式。个人最近几年在工作项目中也一直使用组件化的方式来开发,在这过程中也积累了一些经验和思考。主要是来自在日常开发中使用组件化开发遇到的问题以及和其他开发同学的交流探讨。本文通过以下问题来介绍组件化这种开......
  • 移动端调试工具Eruda
    Eruda,一个专为手机网页前端设计的调试面板。功能清单:按钮拖拽,面板透明度大小设置。Console面板:捕获Console日志,支持log、error、info、warn、dir、time/timeEnd、clear、count、assert、table;支持占位符,包括%c自定义样式输出;支持按日志类型及正则表达式过滤;支持JavaScri......
  • ABC_DQ:基于MATLAB/Simulink的三相静止坐标系到两相静止坐标系(Clark变换)到两相旋转坐标
    ABC_DQ:基于MATLAB/Simulink的三相静止坐标系到两相静止坐标系(Clark变换)到两相旋转坐标系变换(Park变换)的仿真模型。仿真条件:MATLAB/SimulinkR2015bID:2720651503371560......
  • c++_ 贪吃蛇_蛇尾坐标记录问题
    c++_贪吃蛇_蛇尾坐标记录问题思路:利用双指针,把蛇尾的状态数组向后移动1位。intprevX=tailX[0];intprevY=tailY[0];//之前的蛇头坐标给prevX,prevYintprev2X,prev2Y;tailX[0]=x;tailY[0]=y;//更新蛇头坐标for(inti=1;i<nTail;i++)......
  • 写代码光标移动快捷键
    撸代码时候基本都要移动光标,通过鼠标移动实在是太慢了,整理了一波快捷键移动方法。#1:行内移动移动光标到本行开始:Home或改成Ctrl+9(ps:修改MoveCarettoLineStart)移动光标到本行结尾:End或改成Ctrl+0移动光标到本行开始并选中:ShiftHome移动光标到本行结尾并选中:Shift......