【华为OJ17】坐标移动----方法二(推荐)
来源:互联网 发布:厦门云智盛世 数据库 编辑:程序博客网 时间:2024/06/07 18:02
参考【http://blog.csdn.net/DERRANTCM/article/details/51328464】
使用正则表达式:
import java.util.Scanner;/** *【题17】 坐标移动: 方向: A<☜ D>☞ W^☝ S!☟ * 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) * @author WGS */public class Main {public static String calculateLocations(String str){StringBuilder sb=new StringBuilder(128);if(str ==null ||str.length() <=0)return " ";//坐标int X=0;int Y=0;String[] input=str.split(";");for(int i=0;i<input.length;i++){//input[i]:A10,D22...//正则表达式判断if(input[i].matches("(A|D|W|S)[0-9]{1,2}")){char firstChar=input[i].charAt(0);//获取首字母Aint num=Integer.parseInt(input[i].substring(1));//获取首字母后数字10switch(firstChar){case 'A':X -= num;break;case 'D':X += num;break;case 'W':Y += num;break;case 'S':Y -= num;break;}}}sb.append(X).append(",").append(Y);return sb.toString();}public static void main(String[] args) {Scanner sc=new Scanner(System.in);while(sc.hasNext()){String str=sc.nextLine(); System.out.println(calculateLocations(str));}sc.close();}}
0 0
- 【华为OJ17】坐标移动----方法二(推荐)
- 【华为OJ17】坐标移动----方法一(比较麻烦)
- 华为OJ(坐标移动)
- 华为上机试题4(坐标移动)
- 华为测试 坐标移动
- 华为oj 坐标移动
- 华为OJ 坐标移动
- 华为oj 坐标移动
- 华为Oj 坐标移动
- 华为oj 坐标移动
- 华为oj--坐标移动
- 华为OJ----坐标移动
- 【华为OJ】【016-坐标移动】
- 华为 OJ 坐标的移动
- 华为机试题:坐标移动
- 华为oj中级 坐标移动
- 华为机试-坐标移动
- 华为机试-坐标移动
- 坑爹的 小数加法
- 异或的应用及性质
- SmartMonkey--UI遍历
- oracle_单引号问题和execute immediate 赋值问题
- 洛谷 P1018 [NOIP2000 T2] 乘积最大
- 【华为OJ17】坐标移动----方法二(推荐)
- Unity资源热更之AssetBundle(3)———新版本AssetBundle
- 基于V4L2摄像头采集图片程序设计
- 十五章上机练习4
- DXP使用小技巧
- Opencv——全屏显示图片
- EDA软件_Protel99se导出坐标教程
- 怎样成为技术达人
- 初学移动开发技术_实验二_任务二_标准体重计算器