题解 | #坐标移动#
坐标移动
https://www.nowcoder.com/practice/119bcca3befb405fbe58abe9c532eb29
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); String input= in.nextLine(); int [] arr={0,0}; move(arr,input); System.out.println(arr[0]+","+arr[1]); } static void move(int [] arr,String input){ out:for(String str : input.split(";")){ char[] charArr=str.toCharArray(); if(charArr.length<=1){ continue; } char move=charArr[0]; in:for(int i=1;i<charArr.length;i++){ if(!Character.isDigit(charArr[i])){ continue out; } } switch(move){ case 'W' : up(arr,Integer.valueOf(str.substring(1))); break; case 'A' : left(arr,Integer.valueOf(str.substring(1))); break; case 'S' : down(arr,Integer.valueOf(str.substring(1))); break; case 'D' : right(arr,Integer.valueOf(str.substring(1))); break; default:break; } } } static void up(int [] arr,int step){ arr[1]=arr[1]+step; } static void down(int [] arr,int step){ arr[1]=arr[1]-step; } static void right(int [] arr,int step){ arr[0]=arr[0]+step; } static void left(int [] arr,int step){ arr[0]=arr[0]-step; } }
主要是判断数据的合法性其他的没啥