import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { //获取指令集 Scanner scanner = new Scanner(System.in); String instructionSet = scanner.nextLine(); //初始化角色位置 和 指令集指针 int x = 0, y = 0; int i = 0; //截取单个指令 while (i < instructionSet.length()) { int start = i; while (instructionSet.charAt(i) != ';') { i++; } String instration = ""; try { instration = instructionSet.substring(start, i); } catch (Exception e) { }//此时获取单个指令 注意:这里如果指令集没有;则会报异常 i++;//跳过单个指令的结束条件 并继续处理单个指令 并且为获取下次指令做准备 if (instration.length() >= 2 && instration.length() <= 3 && instration.substring(1, instration.length()).matches("\\d+")) { //判断是否满足标准0-99?但是现在如果是字符的话 长度判断不出来 char direction = instration.charAt(0); //获取方向 int stepNumber = 0; try { if (instration.length() == 3) { stepNumber = Integer.parseInt(instration.substring(1, 3)); //获取步数 } else { stepNumber = Integer.parseInt(instration.substring(1, 2)); //获取步数 } } catch (Exception e) { } switch (direction) { case 'A': x -= stepNumber; break; case 'S': y -= stepNumber; break; case 'W': y += stepNumber; break; case 'D': x += stepNumber; break; } } else { } } System.out.println(x + "," + y); } }