思路:
1.把输入字符串以分号作为分割标志分割,用数组接收。
2.首先要判断字符串是否合规。
3.合规的话,把字符串分离成两部分,一部分是方向字符WASD,另一部分是距离。
4.使用switch(){case}语句进行操作。
5.输出
import java.util.*;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int x=0,y=0;
// 注意 hasNext 和 hasNextLine 的区别
String[] input=in.nextLine().split(";");
for(int i=0;i<input.length;i++){
if(input[i]!=null && input[i].length()!=0 && input[i]!=" " && vertify(input[i])){
char pre=input[i].charAt(0);
int dis=Integer.parseInt(input[i].substring(1));
switch(pre){
case 'A':
x-=dis;
break;
case 'W':
y+=dis;
break;
case 'S':
y-=dis;
break;
case 'D':
x+=dis;
break;
}
}
}
System.out.print(x+","+y);
}
//判断字符是否合规
public static boolean vertify(String str){
char pre=str.charAt(0);
if(pre!='A' && pre!='W' && pre!='S' && pre!='D'){
return false;
}
for(int i=1;i<str.length();i++){
if(str.charAt(i)>'9' || str.charAt(i)<'0'){
return false;
}
}
return true;
}
}
京公网安备 11010502036488号