Java算法---坐标移动
来源:互联网 发布:js树状结构 编辑:程序博客网 时间:2024/04/20 00:25
题目描述:
开发一个坐标计算工具, 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)
输入描述:
一行字符串
输出描述:
最终坐标,以,分隔
输入例子:
A10;S20;W10;D30;X;A1A;B10A11;;A10;
输出例子:
10,-10
这个题也比较简单,主要是要加个判断,判断当前的坐标是否合法,然后按照正常思路处理就可以了。
<span style="font-family:SimSun;font-size:18px;"> import java.util.Scanner;/** * Created by Administrator on 2015/12/16. */public class Main1 { public static void main(String[] args) { Scanner sc=new Scanner(System.in); while (sc.hasNext()){ String str=sc.nextLine(); String[] strx=str.split(";"); Point start=new Point(); for(int i=0;i<strx.length;i++){ if(strx[i].length()<=3&&strx[i].length()>1){ if (strx[i].charAt(0) == 'A' || strx[i].charAt(0) == 'W' || strx[i].charAt(0) == 'S' || strx[i].charAt(0) == 'D') { String num=strx[i].substring(1); int len=num.length(); if(len-num.replaceAll("[^0-9]","").length()==0){ start=Direction(strx[i],start); } } } } System.out.println(start.x+","+start.y); } } public static Point Direction(String str,Point start){ if(str.charAt(0)=='A'){ start.x=start.x-Integer.parseInt(str.substring(1)); } if(str.charAt(0)=='W'){ start.y=start.y+Integer.parseInt(str.substring(1)); } if(str.charAt(0)=='S'){ start.y=start.y-Integer.parseInt(str.substring(1)); } if(str.charAt(0)=='D'){ start.x=start.x+Integer.parseInt(str.substring(1)); } return start; }}class Point{ int x; int y;}</span>
0 0
- Java算法---坐标移动
- Java-NowCoder-坐标移动
- Java----------华为机试--------------坐标移动
- 坐标移动
- 坐标移动
- 坐标移动
- 坐标移动
- 坐标移动
- 坐标移动
- 坐标移动
- 坐标移动
- 移动坐标
- 坐标移动
- 坐标移动
- 坐标移动
- 坐标移动
- 坐标移动
- 坐标移动
- hibernate3.0执行存储过程
- 模块化Activity-Fragment
- 如何将ubuntu中的顶部任务栏变成半透明
- JAVA面向对象的思想
- java中数据持久层查询操作
- Java算法---坐标移动
- 从GIt上导出Maven项目
- 强大的c#.net应用程序winform框架类库-WeifenLuo.WinFormsUI.Docking.dll
- shell脚本报错:-bash: xxx: /bin/sh^M: bad interpreter: No such file or directory
- UILabel展示HTML文本
- [干货]Android编程开发规范
- 如何从property文件中读取数据
- jQuery全屏滚动插件FullPage.js中文帮助文档API
- Java多线程之----Phaser