网站 概念设计,如何进行网页设计和网站制作,猫扑网站开发的网游,it外包公司简介某少年宫引进了一批机器人小车。可以接受预先输入的指令#xff0c;按指令行动。小车的基本动作很简单#xff0c;只有3种#xff1a;左转#xff08;记为L#xff09;#xff0c;右转#xff08;记为R#xff09;#xff0c;向前走若干厘米#xff08;直接记数字按指令行动。小车的基本动作很简单只有3种左转记为L右转记为R向前走若干厘米直接记数字。 例如我们可以对小车输入如下的指令15L10R5LRR10R20 则小车先直行15厘米左转再走10厘米再右转… 不难看出对于此指令串小车又回到了出发地。 你的任务是编写程序由用户输入指令程序输出每条指令执行后小车位置与指令执行前小车位置的直线距离。 输入、输出格式要求用户先输入一个整数nn100表示接下来将有n条指令。接下来输入n条指令。每条指令只由L、R和数字组成数字是0~100之间的整数每条指令的长度不超过256个字符。程序则输出n行结果。每条结果表示小车执行相应的指令前后位置的直线距离。要求四舍五入到小数后2位。 例如用户输入5L100R50R103LLL5RR4L12LL100R5L5L5L5 则程序输出102.969.060.00100.00 0.00 import java.util.ArrayList;
import java.util.Scanner;public class 机器人行走 {/*** param args*///初始朝向static int fang1;//初始坐标static int x0,y0;//定义方向static int[][]ss{{0,1},{1,0},{0,-1},{-1,0}};public static void main(String[] args) {// TODO Auto-generated method stubScanner scannernew Scanner(System.in);int nscanner.nextInt();String[]listnew String[n];for (int i 0; i n; i)list[i]scanner.next();for (String string : list){Get(string);x0;y0;}}public static void Get(String str){ArrayListStringlistnew ArrayListString();//将字符与数字分开String temp1;//零时存储数字String temp2;//零时存储字符for (int i 0; i str.length(); i){//如果当前获取的字符属于数字则并入 temp1if(str.charAt(i)0str.charAt(i)9){temp1str.charAt(i);if(istr.length()-1)list.add(temp1);}//如果当前获取的字符不属于数字else{//判断存储数字的 temp1 是否属于空if(temp1!){list.add(temp1);temp1;}temp2str.charAt(i);list.add(temp2);}}//遍历区分开来的队列for (String s : list) {//如果不是方向键 则按照当前方向前进if(!s.equals(R)!s.equals(L)){int tInteger.parseInt(s);run(t);}else{//如果是方向键则进行转向turn(s);}}//利用直角三角形的定理 算出长边的长度double sumMath.sqrt(Math.pow(x,2)Math.pow(y,2));System.out.printf(%.2f,sum);System.out.println();}//n 前进的距离static void run(int n){xss[fang][0]*n;yss[fang][1]*n;}//转弯static void turn(String st){//如果是右方顺时针则加一并取模4的值if(st.equals(R)){fang(fang1)%4;}//如果是左方顺时针则加3并取模4的值else{fang(fang3)%4;}}} 原文链接https://blog.csdn.net/qq_39020387/article/details/79739814 转载于:https://www.cnblogs.com/welcom/p/10759039.html