重慶分公司,新征程啟航
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)
某少年宮引進(jìn)了一批機(jī)器人小車。可以接受預(yù)先輸入的指令,按指令行動。小車的基本動作很簡單,只有3種:左轉(zhuǎn)(記為L),右轉(zhuǎn)(記為R),向前走若干厘米(直接記數(shù)字)。
創(chuàng)新互聯(lián)公司主營紫陽網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,app軟件定制開發(fā),紫陽h5成都小程序開發(fā)搭建,紫陽網(wǎng)站營銷推廣歡迎紫陽等地區(qū)企業(yè)咨詢
例如,我們可以對小車輸入如下的指令:
15L10R5LRR10R20
則,小車先直行15厘米,左轉(zhuǎn),再走10厘米,再右轉(zhuǎn),...
不難看出,對于此指令串,小車又回到了出發(fā)地。
你的任務(wù)是:編寫程序,由用戶輸入指令,程序輸出每條指令執(zhí)行后小車位置與指令執(zhí)行前小車位置的直線距離。
【輸入、輸出格式要求】
用戶先輸入一個(gè)整數(shù)n(n<100),表示接下來將有n條指令。
接下來輸入n條指令。每條指令只由L、R和數(shù)字組成(數(shù)字是0~100之間的整數(shù))
每條指令的長度不超過256個(gè)字符。
程序則輸出n行結(jié)果。
每條結(jié)果表示小車執(zhí)行相應(yīng)的指令前后位置的直線距離。要求四舍五入到小數(shù)后2位。
例如:用戶輸入:
5
L100R50R10
3LLL5RR4L12
LL
100R
5L5L5L5
則程序輸出:
102.96
9.06
0.00
100.00
0.00
代碼:
import java.util.*; class FuShu { public double real; public double image; public FuShu() { real = 0; image = 0; } public FuShu(double r, double i) { real = r; image = i; } public FuShu dot(FuShu x) { FuShu r = new FuShu(); r.real = real * x.real - image * x.image; r.image = real * x.image + image * x.real; return r; } public FuShu dot(double r, double i) { FuShu t = new FuShu(); t.real = real * r - image * i; t.image = real * i + image * r; return t; } } class Robot { private int x = 0; private int y = 0; private FuShu dir = new FuShu(1,0); public void walk(String s) { int sum = 0; for(int i=0; i
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。