题目描述:

开发一个坐标计算工具, A表示向左移动,D表示向右移动,W表示向上移动,S表示向下移动。从(0,0)点开始移动,从输入字符串里面读取一些坐标,并将最终输入结果输出到输出文件里面。

输入:

合法坐标为A(或者D或者W或者S) + 数字(两位以内)

坐标之间以;分隔。

非法坐标点需要进行丢弃。如AA10;  A1A;  $%$;  YAD; 等。

下面是一个简单的例子 如:

A10;S20;W10;D30;X;A1A;B10A11;;A10;

处理过程:

起点(0,0)

+   A10   =  (-10,0)

+   S20   =  (-10,-20)

+   W10  =  (-10,-10)

+   D30  =  (20,-10)

+   x    =  无效

+   A1A   =  无效

+   B10A11   =  无效

+  一个空 不影响

+   A10  =  (10,-10)

结果 (10, -10)

输入描述:

一行字符串

输出描述:

最终坐标,以,分隔

示例1:

输入:

A10;S20;W10;D30;X;A1A;B10A11;;A10;

输出:

10,-10

代码:

import java.util.Scanner;public class Main {public static void main ( String[] args ) {Scanner in = new Scanner( System.in );while ( in.hasNextLine() ) {String s1 = in.nextLine();String s[] = s1.split(";");int x = 0;int y = 0;for( int i = 0 ; i < s.length ; i++ ) {if ( (s[i].length() == 3 && ( (s[i].charAt(0) == 'A' || s[i].charAt(0) == 'S' || s[i].charAt(0) == 'W' || s[i].charAt(0) == 'D') && ( s[i].charAt(1) >= '0' && s[i].charAt(1) <= '9') && ( s[i].charAt(2) >= '0' && s[i].charAt(2) <= '9' ) )) || ( s[i].length() == 2 && ( (s[i].charAt(0) == 'A' || s[i].charAt(0) == 'S' || s[i].charAt(0) == 'W' || s[i].charAt(0) == 'D') && ( s[i].charAt(1) >= '0' && s[i].charAt(1) <= '9') ) ) ) {if ( s[i].charAt(0) == 'A' ) {x -= Integer.valueOf( s[i].substring(1) );}if ( s[i].charAt(0) == 'D' ) {x += Integer.valueOf( s[i].substring(1) );}if ( s[i].charAt(0) == 'S' ) {y -= Integer.valueOf( s[i].substring(1) );}if ( s[i].charAt(0) == 'W' ) {y += Integer.valueOf( s[i].substring(1) );}}}System.out.println( x +","+ y );}}
}

转载于:https://www.cnblogs.com/cg-bestwishes/p/10681161.html

牛客网——华为机试(题17:坐标移动)(Java)相关推荐

  1. JavsScript牛客网华为机试(11-20)题解

    牛客网华为机试题解JavaScript版本 华为机试第11-20题解答(js) 11.数字颠倒 12.字符串反转 13.句子逆序 14.字符串排序 15.求int型数据在内存中存储时1的个数 16.购 ...

  2. (牛客网)华为机试(二)

    (牛客网)华为机试题集解答 在解题前先分享一波oj刷题的固定格式代码,方便输入时使用 import java.util.*; import java.io.*; public class Main{ ...

  3. 牛客网--华为机试在线训练10:字符个数统计

    牛客网–华为机试在线训练10:字符个数统计 题目描述 编写一个函数,计算字符串中含有的不同字符的个数.字符在ACSII码范围内(0~127).不在范围内的不作统计. 输入描述: 输入N个字符,字符在A ...

  4. 牛客网–华为机试在线训练9:提取不重复的数

    牛客网–华为机试在线训练9:提取不重复的数 题目描述 输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数. 输入描述: 输入一个int型整数 输出描述: 按照从右向左的阅读顺 ...

  5. 牛客网–华为机试在线训练8:合并表记录

    牛客网–华为机试在线训练8:合并表记录 题目描述 数据表记录包含表索引和数值,请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照key值升序进行输出. 输入描述: 先输入键值对的个 ...

  6. 牛客网–华为机试在线训练7:取近似值

    牛客网–华为机试在线训练7:取近似值 题目描述 写出一个程序,接受一个正浮点数值,输出该数值的近似整数值.如果小数点后数值大于等于5,向上取整:小于5,则向下取整. 输入描述: 输入一个正浮点数值 输 ...

  7. 牛客网–华为机试在线训练6:质数因子

    牛客网–华为机试在线训练6:质数因子 题目描述 功能:输入一个正整数,按照从小到大的顺序输出它的所有质数的因子(如180的质数因子为2 2 3 3 5 ) 最后一个数后面也要有空格 详细描述: 函数接 ...

  8. 牛客网–华为机试在线训练5:进制转换

    牛客网–华为机试在线训练5:进制转换 题目描述 写出一个程序,接受一个十六进制的数值字符串,输出该数值的十进制字符串.(多组同时输入 ) 输入描述: 输入一个十六进制的数值字符串. 输出描述: 输出该 ...

  9. 牛客网–华为机试在线训练4:字符串分隔

    牛客网–华为机试在线训练4:字符串分隔 题目描述 •连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组: •长度不是8整数倍的字符串请在后面补数字0,空字符串不处理. 输入描述: 连续输 ...

  10. 【To Debug】牛客网--华为机试在线训练3:明明的随机数

    牛客网–华为机试在线训练3:明明的随机数 题目描述 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字, ...

最新文章

  1. 51nod 1013【快速幂+逆元】
  2. source ~/.bashrc 什么意思
  3. linux进程配置异常中断自动重启_Linux系统配置及服务管理 (四)进程管理
  4. 【Python基础入门系列】第08天:Python List
  5. 【OJ】洛谷排序题单题解锦集
  6. 语言的口味(taste)
  7. 数字通信原理的几个理解
  8. Java 读写txt文件
  9. 云服务器的安全防护措施一般有哪些?
  10. #paypay付款测试#
  11. python 判断素数
  12. 夜神模拟器99%卡死打不开问题
  13. Chrome主页被强制修改为百度解决办法
  14. VS(SQL Server一样)设置护眼背景色
  15. word2019如何设置公式编号
  16. 电路布线-----问题详解
  17. 杂谈:一张图片引发的版权问题
  18. PSTN 与 PBX 业务
  19. Django:将项目移动到新环境
  20. 电脑启动出现0x0000007B的解决方案

热门文章

  1. [转载]Lua和C++交互详细总结
  2. Vijos P1756 数字反转【进制】
  3. 新建Web网站与新建Web应用程序的区别
  4. Linux下常用软件
  5. Jquery的集合方法EACH()
  6. 使用Qt作窗口截屏(含源码)
  7. NIO网络编程实战之简单多人聊天室
  8. python_5.fit()函数,transform()函数,与fit_transform()函数
  9. Pandas转pivot, groupby等结果为dataFrame--彻底解决多表头问题
  10. Glow-流生成模型(一)