直接粗暴的if——else 刚开始报错一直找不到问题,输出跟预期差了个符号,结果发现是题目和答案的s、w定义完全相反。。。有点糙了
看到答题区大家用的是HashMap,果然选对容器很重要
public static void main(String [] args){
Scanner in = new Scanner (System.in);
String str=in.nextLine();
String [] s=str.split(";");
int x=0,y=0;
String tmp="\\d{1,2}";
for(int i=0;i<s.length;i++){
if(s[i].length() > 3 || s[i].length() < 2 ) continue;
if(s[i].charAt(0)=='A'){
if(s[i].substring(1).matches(tmp))
x=x-Integer.valueOf(s[i].substring(1));
}
else if(s[i].charAt(0)=='S'){
if(s[i].substring(1).matches(tmp))
y=y-Integer.valueOf(s[i].substring(1));
}
else if(s[i].charAt(0)=='W'){
if(s[i].substring(1).matches(tmp))
y=y+Integer.valueOf(s[i].substring(1));
}
else if(s[i].charAt(0)=='D'){
if(s[i].substring(1).matches(tmp))
x=x+Integer.valueOf(s[i].substring(1));
}
}
System.out.print(x+","+y);
}

京公网安备 11010502036488号