题解 | #坐标移动#
坐标移动
https://www.nowcoder.com/practice/119bcca3befb405fbe58abe9c532eb29
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.util.*; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) throws IOException{ BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); String str; while ((str = bf.readLine()) != null) { String[] strings = str.split(";"); HashMap<Integer, Integer> hp = new HashMap<>(); hp.put(0, 0); //横轴数值 hp.put(1, 0); //竖轴数值 Integer count = 0; Integer temp = 0; for (int i = 0; i < strings.length; i++) { String string = strings[i]; String reg = "[ADSW]\\d{1,2}"; boolean matches = string.matches(reg); if (matches) { if (string.startsWith("A")) { String substring = string.substring(1); Integer parseInt = Integer.parseInt(substring); temp = hp.get(0); count = temp - parseInt; hp.put(0, count); } else if (string.startsWith("D")) { String substring = string.substring(1); Integer parseInt = Integer.parseInt(substring); temp = hp.get(0); count = temp + parseInt; hp.put(0, count); } else if (string.startsWith("W")) { String substring = string.substring(1); Integer parseInt = Integer.parseInt(substring); temp = hp.get(1); count = temp + parseInt; hp.put(1, count); } else if (string.startsWith("S")) { String substring = string.substring(1); Integer parseInt = Integer.parseInt(substring); temp = hp.get(1); count = temp - parseInt; hp.put(1, count); } else { continue; } } } System.out.println(hp.get(0) + "," + hp.get(1)); } } }