解析格式,分别移动。注意字符和数字的转换
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static int[] result = new int[] {0, 0};
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
while (in.hasNextLine()) { // 注意 while 处理多个 case
String[] input = in.nextLine().split(";");
for(String tempStr : input) {
function(tempStr);
}
System.out.println(result[0] + "," + result[1]);
}
}
public static void function(String str) {
if (str.length() < 2 || str.length() > 3) {
return;
}
char ll = str.charAt(0);
if (ll == 'A') {
int leftmove = 0;
for (int i = 1; i < str.length(); i++) {
if (str.charAt(i) < '0' || str.charAt(i) > '9') {
return;
}
leftmove = leftmove * 10 + str.charAt(i) - '0';
}
result[0] = result[0] - leftmove;
}
if (ll == 'D') {
int rightmove = 0;
for (int i = 1; i < str.length(); i++) {
if (str.charAt(i) < '0' || str.charAt(i) > '9') {
return;
}
rightmove = rightmove * 10 + str.charAt(i) - '0';
}
result[0] = result[0] + rightmove;
}
if (ll == 'W') {
int upmove = 0;
for (int i = 1; i < str.length(); i++) {
if (str.charAt(i) < '0' || str.charAt(i) > '9') {
return;
}
upmove = upmove * 10 + str.charAt(i) - '0';
}
result[1] = result[1] + upmove;
}
if (ll == 'S') {
int downmove = 0;
for (int i = 1; i < str.length(); i++) {
if (str.charAt(i) < '0' || str.charAt(i) > '9') {
return;
}
downmove = downmove * 10 + str.charAt(i) - '0';
}
result[1] = result[1] - downmove;
}
}
}