牛客网——华为机试(题17:坐标移动)(Java)
题目描述:
开发一个坐标计算工具, 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)相关推荐
- JavsScript牛客网华为机试(11-20)题解
牛客网华为机试题解JavaScript版本 华为机试第11-20题解答(js) 11.数字颠倒 12.字符串反转 13.句子逆序 14.字符串排序 15.求int型数据在内存中存储时1的个数 16.购 ...
- (牛客网)华为机试(二)
(牛客网)华为机试题集解答 在解题前先分享一波oj刷题的固定格式代码,方便输入时使用 import java.util.*; import java.io.*; public class Main{ ...
- 牛客网--华为机试在线训练10:字符个数统计
牛客网–华为机试在线训练10:字符个数统计 题目描述 编写一个函数,计算字符串中含有的不同字符的个数.字符在ACSII码范围内(0~127).不在范围内的不作统计. 输入描述: 输入N个字符,字符在A ...
- 牛客网–华为机试在线训练9:提取不重复的数
牛客网–华为机试在线训练9:提取不重复的数 题目描述 输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数. 输入描述: 输入一个int型整数 输出描述: 按照从右向左的阅读顺 ...
- 牛客网–华为机试在线训练8:合并表记录
牛客网–华为机试在线训练8:合并表记录 题目描述 数据表记录包含表索引和数值,请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照key值升序进行输出. 输入描述: 先输入键值对的个 ...
- 牛客网–华为机试在线训练7:取近似值
牛客网–华为机试在线训练7:取近似值 题目描述 写出一个程序,接受一个正浮点数值,输出该数值的近似整数值.如果小数点后数值大于等于5,向上取整:小于5,则向下取整. 输入描述: 输入一个正浮点数值 输 ...
- 牛客网–华为机试在线训练6:质数因子
牛客网–华为机试在线训练6:质数因子 题目描述 功能:输入一个正整数,按照从小到大的顺序输出它的所有质数的因子(如180的质数因子为2 2 3 3 5 ) 最后一个数后面也要有空格 详细描述: 函数接 ...
- 牛客网–华为机试在线训练5:进制转换
牛客网–华为机试在线训练5:进制转换 题目描述 写出一个程序,接受一个十六进制的数值字符串,输出该数值的十进制字符串.(多组同时输入 ) 输入描述: 输入一个十六进制的数值字符串. 输出描述: 输出该 ...
- 牛客网–华为机试在线训练4:字符串分隔
牛客网–华为机试在线训练4:字符串分隔 题目描述 •连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组: •长度不是8整数倍的字符串请在后面补数字0,空字符串不处理. 输入描述: 连续输 ...
- 【To Debug】牛客网--华为机试在线训练3:明明的随机数
牛客网–华为机试在线训练3:明明的随机数 题目描述 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字, ...
最新文章
- 51nod 1013【快速幂+逆元】
- source ~/.bashrc 什么意思
- linux进程配置异常中断自动重启_Linux系统配置及服务管理 (四)进程管理
- 【Python基础入门系列】第08天:Python List
- 【OJ】洛谷排序题单题解锦集
- 语言的口味(taste)
- 数字通信原理的几个理解
- Java 读写txt文件
- 云服务器的安全防护措施一般有哪些?
- #paypay付款测试#
- python 判断素数
- 夜神模拟器99%卡死打不开问题
- Chrome主页被强制修改为百度解决办法
- VS(SQL Server一样)设置护眼背景色
- word2019如何设置公式编号
- 电路布线-----问题详解
- 杂谈:一张图片引发的版权问题
- PSTN 与 PBX 业务
- Django:将项目移动到新环境
- 电脑启动出现0x0000007B的解决方案
热门文章
- [转载]Lua和C++交互详细总结
- Vijos P1756 数字反转【进制】
- 新建Web网站与新建Web应用程序的区别
- Linux下常用软件
- Jquery的集合方法EACH()
- 使用Qt作窗口截屏(含源码)
- NIO网络编程实战之简单多人聊天室
- python_5.fit()函数,transform()函数,与fit_transform()函数
- Pandas转pivot, groupby等结果为dataFrame--彻底解决多表头问题
- Glow-流生成模型(一)