一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - java數據結構實現機器人行走

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

2021-03-28 16:16dreamfly2014 Java教程

這篇文章主要為大家詳細介紹了java數據結構實現機器人行走,具有一定的參考價值,感興趣的小伙伴們可以參考一下

某少年宮引進了一批機器人小車。可以接受預先輸入的指令,按指令行動。小車的基本動作很簡單,只有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

代碼:

java" id="highlighter_520490">
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
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();
 }
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。 

原文鏈接:http://blog.csdn.net/u014078192/article/details/23050297

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 久久精品麻豆国产天美传媒果冻 | 日本老头4569gay| 欧美亚洲国产精品久久久 | 爱爱小视频免费看 | 第一次处破女18分钟 | 色欲麻将 | 91香蕉在线 | 日韩视频在线观看中字 | 男人猛激烈吃奶gif动态图 | 999久久精品国产 | 奇米影视亚洲狠狠色 | 思思玖玖玖在线精品视频 | 亚州男人的天堂 | 激情影院费观看 | caoporn草棚在线视频 | 美女口述又粗又大感觉 | 99热这里只有精品免费 | 亚洲乱亚洲乱妇41p 亚洲乱码一区二区三区国产精品 | 美国video| 国产精品久久久久久久久99热 | 手机看片国产免费现在观看 | 9热在线精品视频观看 | 日本mature乱子视频 | 2021最新国产成人精品视频 | 午夜福利合集1000在线 | 美女黄金大片视频免费看 | 成人小视频在线免费观看 | 国语刺激对白勾搭视频在线观看 | 欧美人畜 | 国产不卡视频 | 欧美久久久久久久一区二区三区 | 色婷婷综合久久久中文字幕 | 天天干夜夜噜 | 青青青青青国产免费手机看视频 | 国外欧美一区另类中文字幕 | 日本视频在线观看播放 | 国内精品一区二区在线观看 | 色啪啪888.com| 亚洲AV久久无码精品蜜桃 | bl高h荡肉古代np | 免费一级毛片在线播放 |