开发一个坐标计算工具, A表示向左移动,D表示向右移动,W表示向上移动,S表示向下移动。从(0,0)点开始移动...

坐标移动

http://www.nowcoder.com/questionTerminal/119bcca3befb405fbe58abe9c532eb29

import java.util.ArrayList;
import java.util.Scanner;

public class Main {

public static void main(String[] args) {

    Scanner scanner = new Scanner(System.in);

    String nextLine = scanner.nextLine();
    String[] split = nextLine.split(";");
    ArrayList<String> arrayList = new ArrayList();
    for (int i = 0; i < split.length; i++) {
        String s = split[i];
        if (s.length() < 2)
            continue;
        if (s.length() > 3)
            continue;
        if (!(String.valueOf(s.charAt(0)).equals("A") || String.valueOf(s.charAt(0)).equals("W") || String.valueOf(s.charAt(0)).equals("S") || String.valueOf(s.charAt(0)).equals("D")))
            continue;
        if (s.charAt(1) < 48 || s.charAt(1) > 57) continue;
        if (s.length() == 3) {

            if (s.charAt(2) < 48 || s.charAt(2) > 57) continue;
        }
        arrayList.add(s);
    }

    int zy = 0;
    int sx = 0;
    for (int i = 0; i < arrayList.size(); i++) {
        String s = arrayList.get(i);
        if (String.valueOf(s.charAt(0)).equals("A")) {
            zy -= Integer.valueOf(s.substring(1));
        }
        if (String.valueOf(s.charAt(0)).equals("D")) {
            zy += Integer.valueOf(s.substring(1));
        }
        if (String.valueOf(s.charAt(0)).equals("S")) {
            sx -= Integer.valueOf(s.substring(1));
        }
        if (String.valueOf(s.charAt(0)).equals("W")) {
            sx += Integer.valueOf(s.substring(1));
        }
    }
    System.out.println(zy + "," + sx);

}

}

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务