国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Java > 正文

java數據結構實現機器人行走

2024-07-13 10:17:31
字體:
來源:轉載
供稿:網友

某少年宮引進了一批機器人小車。可以接受預先輸入的指令,按指令行動。小車的基本動作很簡單,只有3種:左轉(記為L),右轉(記為R),向前走若干厘米(直接記數字)。

例如,我們可以對小車輸入如下的指令:

15L10R5LRR10R20

則,小車先直行15厘米,左轉,再走10厘米,再右轉,...

不難看出,對于此指令串,小車又回到了出發地。

你的任務是:編寫程序,由用戶輸入指令,程序輸出每條指令執行后小車位置與指令執行前小車位置的直線距離。

【輸入、輸出格式要求】

用戶先輸入一個整數n(n<100),表示接下來將有n條指令。

接下來輸入n條指令。每條指令只由L、R和數字組成(數字是0~100之間的整數)

每條指令的長度不超過256個字符。

程序則輸出n行結果。

每條結果表示小車執行相應的指令前后位置的直線距離。要求四舍五入到小數后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<s.length(); i++)   {    char c = s.charAt(i);    if(c=='L' || c=='R')    {     x += sum * dir.real;     y += sum * dir.image;     sum = 0;     if(c=='L')      dir = dir.dot(0,1);     else      dir = dir.dot(0,-1);         }    else     sum = sum * 10 + (c-'0');       }      x += sum * dir.real;   y += sum * dir.image;    }    public void show()  {   double d = Math.sqrt(x*x + y*y);   System.out.println(x+","+y + " dir: " + dir.real + "," + dir.image + ", d=" + d);  } }  public class Walk {  public static void main(String[] args) throws Exception  {   Robot t = new Robot();   t.walk("3R4");   t.show();  } }

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。 


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 武清区| 两当县| 巧家县| 德令哈市| 金川县| 东至县| 曲松县| 会泽县| 获嘉县| 信丰县| 奉节县| 陕西省| 义乌市| 连山| 万宁市| 石阡县| 东港市| 聊城市| 平果县| 天峻县| 安顺市| 壶关县| 页游| 永寿县| 邹平县| 木兰县| 榆林市| 乳源| 杨浦区| 昂仁县| 吉木乃县| 察隅县| 永城市| 日土县| 西和县| 宝兴县| 霍邱县| 乐都县| 天门市| 阿勒泰市| 望奎县|