开发一个坐标计算工具, 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); }
}