【JavaWeb】石家莊地鐵搭乘系統——第一版(功能尚未完善)

小組成員:高達,程超然

項目目的:能算出地鐵搭乘的最優路線并顯示在地圖上

個人任務:調用隊友寫好的java代碼,將結果顯示在網頁上

新的知識:百度地圖API,使用JQuery的AJAX異步提交

進度:畫出了部分地鐵圖用于測試,實現了地鐵線路的定位,可以在網頁上使用文字展示路線

尚未實現圖像展示路線,尚未實現圖像的刪除,尚未實現站點的點擊事件

二人組隊總結

分工明確

兩個人使用的地圖不一樣。我發現之前同學發在群里的圖是錯誤的,在地圖上已經建成的地鐵和圖中的不一致,但那時數據庫里的數據已經輸入完畢,便沒有改。但是我畫圖找不到地點,畫圖時改成了正確的地鐵圖。

mysql的版本我原來使用5.7,近期換成8.0但是mysql-connector沒有換,導致數據庫連接失敗。

我剛開始覺得我需要x,y坐標來定位,所以想讓返回的參數是x,y坐標,數據庫里也預留了相應的位置(沒有輸入數據)。后來發現有的站點之間的線并不是直線。于是更改為序號作為定位。數據庫里尚未輸入對應信息。

過程:

懸浮框的實現不再贅述。

我從老師哪里了解到可以直接用百度現成的接口,于是上網搜索百度地圖。

經過各種教程,查找,我明白要在百度地圖開放平臺申請一個應用,并獲得密匙。

白名單設置用于約束訪問的地址,我直接設置為*。

接下來使用

<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=你的密匙"></script>

就可以調用百度地圖的接口了。

非常棒的是百度地圖提供了很多示例(http://lbsyun.baidu.com/jsdemo.htm#subway0_0)

照貓畫虎地,我調出了石家莊的地圖。

 1 var map = new BMap.Map("allmap");    // 創建Map實例
 2 map.centerAndZoom(new BMap.Point(114.6426,38.20145), 13);  // 初始化地圖,設置中心點坐標和地圖級別
 3 //添加地圖類型控件
 4 map.addControl(new BMap.MapTypeControl({
 5     mapTypes:[
 6     BMAP_NORMAL_MAP,
 7     BMAP_HYBRID_MAP
 8     ]}));      
 9 map.setCurrentCity("石家莊");          // 設置地圖顯示的城市 此項是必須設置的
10 map.enableScrollWheelZoom(true);     //開啟鼠標滾輪縮放

雖然百度地圖提供了現成的地鐵圖。但是老師讓我們設計的是存在于未來的規劃圖。共計6條(目前建了兩條,百度地圖上也顯示的是這兩條)

?所以自己畫吧,百度地圖提供了點,線,圓等方法

坐標獲取使用了百度地圖的坐標拾取系統(http://api.map.baidu.com/lbsapi/getpoint/index.html)

畫一個點,并標注名字

 1 function setPoint(x,y,name,direction)//創建站點
 2     {
 3         var px,py;
 4         var point = new BMap.Point(x,y);//創建點
 5         var circle = new BMap.Circle(point,200,{strokeColor:"black", strokeWeight:5, strokeOpacity:1}); //創建圓//
 6         circle.setFillColor("#ffffff");
 7         map.addOverlay(circle); 
 8         //文字方向選擇
 9         switch(direction)
10         {
11             case 1://
12             {
13                 px=-20;
14                 py=-50;
15                 break;
16             }
17             case 2://
18             {
19                 break;
20             }
21             case 3://
22             {
23                 px=-30;
24                 py=-10;
25                 break;
26             }
27             case 4://
28             {
29                 px=30;
30                 py=-10;
31                 break;
32             }
33         }
34         
35         var opts = {position : point,offset:new BMap.Size(px, py)}
36         var label = new BMap.Label(name, opts);  // 創建文本標注對象
37         label.setStyle({color : "black",fontSize : "12px",height : "20px",lineHeight : "20px",fontFamily:"微軟雅黑"});
38         map.addOverlay(label);  
39     }

所有的點:

 1 setPoint(114.64192,38.189343,"東洋",4);
 2 setPoint(114.628268,38.167745,"東上澤",4);
 3 setPoint(114.62759,38.160134,"天元湖",4);
 4 setPoint(114.627449,38.14953,"園博園",4);
 5 setPoint(114.627305,38.138874,"行政中心",4);
 6 setPoint(114.62137,38.129852,"會展中心",4);
 7 setPoint(114.634152,38.096772,"東莊",4);
 8 setPoint(114.634402,38.088129,"西莊",4);
 9 setPoint(114.634787,38.075265,"洨河大道",4);
10 setPoint(114.635236,38.065713,"南村",4);
11 setPoint(114.635676,38.054882,"石家莊東",4);
12 setPoint(114.62989,38.04387,"火炬廣場",4);
13 setPoint(114.614825,38.04399,"留村",1);
14 setPoint(114.592682,38.050428,"白佛",4);
15 setPoint(114.582999,38.050094,"朝暉橋",1);
16 setPoint(114.568896,38.049525,"談固",1);
17 setPoint(114.552434,38.049006,"北宋",1);
18 setPoint(114.539294,38.048844,"體育場",1);
19 setPoint(114.528438,38.048592,"博物院",1);
20 setPoint(114.518483,38.049043,"北國商城",1);
21 setPoint(114.507972,38.049667,"平安大街",1);
22 setPoint(114.493744,38.049809,"解放廣場",1);
23 setPoint(114.483772,38.049448,"新百廣場",1);
24 setPoint(114.472184,38.048965,"烈士陵園",1);
25 setPoint(114.458637,38.048111,"和平醫院",1);
26 setPoint(114.44353,38.047209,"長城橋",1);
27 setPoint(114.429246,38.046385,"時光街",1);
28 setPoint(114.415825,38.045975,"西王",1);
29 setPoint(114.388983,38.042902,"上莊",4);
30 setPoint(114.386238,38.031524,"上莊南",4);

?

畫一條線

1 function setLine(x1,y1,x2,y2,color)//畫出直線
2     {
3         var polyline = new BMap.Polyline([
4             new BMap.Point(x1, y1),
5             new BMap.Point(x2, y2)
6         ], {strokeColor:color, strokeWeight:21, strokeOpacity:1});//創建
7         map.addOverlay(polyline);
8     }

所以的線

 1     setLine(114.64192,38.189343,114.628268,38.167745,"red");//東洋-東上澤
 2     setLine(114.628268,38.167745,114.62759,38.160134,"red");//東上澤-天元湖
 3     setLine(114.62759,38.160134,114.627449,38.14953,"red");//天元湖-園博園
 4     setLine(114.627449,38.14953,114.627305,38.138874,"red");//園博園-行政中心
 5     setLine(114.627305,38.138874,114.62137,38.129852,"red");//行政中心-會展中心
 6     setLine(114.62137,38.129852,114.634152,38.096772,"red");//會展中心-東莊
 7     setLine(114.634152,38.096772,114.634402,38.088129,"red");//東莊-西莊
 8     setLine(114.634402,38.088129,114.634787,38.075265,"red");//西莊-洨河大道
 9     setLine(114.634787,38.075265,114.635236,38.065713,"red");//洨河大道-南村
10     setLine(114.635236,38.065713,114.635676,38.054882,"red");//南村-石家莊東
11     setLine(114.635676,38.054882,114.635984,38.044023,"red");///石家莊東-
12     setLine(114.635984,38.044023,114.62989,38.04387,"red");//-火炬廣場
13     setLine(114.62989,38.04387,114.614825,38.04399,"red");//火炬廣場-留村
14     setLine(114.614825,38.04399,114.5976,38.043412,"red");//留村-
15     setLine(114.5976,38.043412,114.592682,38.050428,"red");//-白佛
16     setLine(114.592682,38.050428,114.582999,38.050094,"red");//白佛-朝暉橋
17     setLine(114.582999,38.050094,114.568896,38.049525,"red");//朝暉橋-談固
18     setLine(114.568896,38.049525,114.552434,38.049006,"red");//談固-北宋
19     setLine(114.552434,38.049006,114.539294,38.048844,"red");//北宋-體育場
20     setLine(114.539294,38.048844,114.528438,38.048592,"red");//體育場-博物院
21     setLine(114.528438,38.048592,114.518483,38.049043,"red");//博物院-北國商城
22     setLine(114.518483,38.049043,114.507972,38.049667,"red");//北國商城-平安大街
23     setLine(114.507972,38.049667,114.493744,38.049809,"red");//平安大街-解放廣場
24     setLine(114.493744,38.049809,114.483772,38.049448,"red");//解放廣場-新百廣場
25     setLine(114.483772,38.049448,114.472184,38.048965,"red");//新百廣場-烈士陵園
26     setLine(114.472184,38.048965,114.458637,38.048111,"red");//烈士陵園-和平醫院
27     setLine(114.458637,38.048111,114.44353,38.047209,"red");//和平醫院-長城橋
28     setLine(114.44353,38.047209,114.429246,38.046385,"red");//長城橋-時光街
29     setLine(114.429246,38.046385,114.415825,38.045975,"red");//時光街-西王
30     setLine(114.415825,38.045975,114.388983,38.042902,"red");//西王-上莊
31     setLine(114.388983,38.042902,114.386238,38.031524,"red");//上莊-上莊南

?

如何實現標注某一段路線呢?

首先得明確每一段路線,但是如上所述,有的線是彎的,不能簡單地用兩個坐標表示。

所以我想到了,使用一個switch

比如但就一條線來說,假如要標識序號為3-5的點之間的線

從case 3開始執行畫3-4的線,到case 5判斷5>=endNum(5),不畫線break跳出

這樣就執行了3-5之間的畫線

但是經過測試我發現startNum=document.getElementById("startNum").value;是一個String類型的變量沒法使用switch

于是算法不變,改寫成if else語句

  1 function drawALine(listNum,start,end,flag)//畫出一段直線
  2     {
  3         if(flag==0)
  4             {
  5                 var a=start;
  6                 start=end;
  7                 end=a;
  8             }
  9         //alert(start+"#"+end);
 10         if(listNum==1)//地鐵1號線
 11         {
 12             if(start<=0&&end>0)
 13             {
 14                 setLine(114.64192,38.189343,114.628268,38.167745,"green");//東洋-東上澤
 15                 setPoint(114.64192,38.189343,"東洋",4);
 16                 setPoint(114.628268,38.167745,"東上澤",4);
 17             }
 18             if(start<=1&&end>1)
 19             {
 20                 setLine(114.628268,38.167745,114.62759,38.160134,"green");//東上澤-天元湖
 21                 setPoint(114.628268,38.167745,"東上澤",4);
 22                 setPoint(114.62759,38.160134,"天元湖",4);
 23             }
 24             if(start<=2&&end>2)
 25             {
 26                 setLine(114.62759,38.160134,114.627449,38.14953,"green");//天元湖-園博園
 27                 setPoint(114.62759,38.160134,"天元湖",4);
 28                 setPoint(114.627449,38.14953,"園博園",4);
 29             }
 30             if(start<=3&&end>3)
 31             {
 32                 setLine(114.627449,38.14953,114.627305,38.138874,"green");//園博園-行政中心
 33                 setPoint(114.627449,38.14953,"園博園",4);
 34                 setPoint(114.627305,38.138874,"行政中心",4);
 35             }
 36             if(start<=4&&end>4)
 37             {
 38                 setLine(114.627305,38.138874,114.62137,38.129852,"green");//行政中心-會展中心
 39                 setPoint(114.627305,38.138874,"行政中心",4);
 40                 setPoint(114.62137,38.129852,"會展中心",4);
 41             }
 42             if(start<=5&&end>5)
 43             {
 44                 
 45                 setLine(114.62137,38.129852,114.634152,38.096772,"green");//會展中心-東莊
 46                 setPoint(114.62137,38.129852,"會展中心",4);
 47                 setPoint(114.634152,38.096772,"東莊",4);
 48             }
 49             if(start<=6&&end>6)
 50             {
 51                 setLine(114.634152,38.096772,114.634402,38.088129,"green");//東莊-西莊
 52                 setPoint(114.634152,38.096772,"東莊",4);
 53                 setPoint(114.634402,38.088129,"西莊",4);
 54             }
 55             if(start<=7&&end>7)
 56             {
 57                 setLine(114.634402,38.088129,114.634787,38.075265,"green");//西莊-洨河大道
 58                 setPoint(114.634402,38.088129,"西莊",4);
 59                 setPoint(114.634787,38.075265,"洨河大道",4);
 60             }
 61             if(start<=8&&end>8)
 62             {
 63                 setLine(114.634787,38.075265,114.635236,38.065713,"green");//洨河大道-南村
 64                 setPoint(114.634787,38.075265,"洨河大道",4);
 65                 setPoint(114.635236,38.065713,"南村",4);
 66             }
 67             if(start<=9&&end>9)
 68             {
 69                 setLine(114.635236,38.065713,114.635676,38.054882,"green");//南村-石家莊東
 70                 setPoint(114.635236,38.065713,"南村",4);
 71                 setPoint(114.635676,38.054882,"石家莊東",4);
 72             }
 73             if(start<=10&&end>10)
 74             {
 75                 setLine(114.635676,38.054882,114.635984,38.044023,"green");///石家莊東-
 76                 setLine(114.635984,38.044023,114.62989,38.04387,"green");//-火炬廣場
 77                 setPoint(114.635676,38.054882,"石家莊東",4);
 78                 setPoint(114.62989,38.04387,"火炬廣場",4);
 79             }
 80             if(start<=11&&end>11)
 81             {
 82                 setLine(114.62989,38.04387,114.614825,38.04399,"green");//火炬廣場-留村
 83                 setPoint(114.62989,38.04387,"火炬廣場",4);
 84                 setPoint(114.614825,38.04399,"留村",1);
 85             }
 86             if(start<=12&&end>12)
 87             {
 88                 setLine(114.614825,38.04399,114.5976,38.043412,"green");//留村-
 89                 setLine(114.5976,38.043412,114.592682,38.050428,"green");//-白佛
 90                 setPoint(114.614825,38.04399,"留村",1);
 91                 setPoint(114.592682,38.050428,"白佛",4);
 92             }
 93             if(start<=13&&end>13)
 94             {
 95                 setLine(114.592682,38.050428,114.582999,38.050094,"green");//白佛-朝暉橋
 96                 setPoint(114.592682,38.050428,"白佛",4);
 97                 setPoint(114.582999,38.050094,"朝暉橋",1);
 98             }
 99             if(start<=14&&end>14)
100             {
101                 
102                 setLine(114.582999,38.050094,114.568896,38.049525,"green");//朝暉橋-談固
103                 setPoint(114.582999,38.050094,"朝暉橋",1);
104                 setPoint(114.568896,38.049525,"談固",1);
105             }
106             if(start<=15&&end>15)
107             {
108                 setLine(114.568896,38.049525,114.552434,38.049006,"green");//談固-北宋
109                 setPoint(114.568896,38.049525,"談固",1);
110                 setPoint(114.552434,38.049006,"北宋",1);
111             }
112             if(start<=16&&end>16)
113             {
114                 setLine(114.552434,38.049006,114.539294,38.048844,"green");//北宋-體育場
115                 setPoint(114.552434,38.049006,"北宋",1);
116                 setPoint(114.539294,38.048844,"體育場",1);
117             }
118             if(start<=17&&end>17)
119             {
120                 setLine(114.539294,38.048844,114.528438,38.048592,"green");//體育場-博物院
121                 setPoint(114.539294,38.048844,"體育場",1);
122                 setPoint(114.528438,38.048592,"博物院",1);
123             }
124             if(start<=18&&end>18)
125             {
126                 setLine(114.528438,38.048592,114.518483,38.049043,"green");//博物院-北國商城
127                 setPoint(114.528438,38.048592,"博物院",1);
128                 setPoint(114.518483,38.049043,"北國商城",1);
129             }
130             if(start<=19&&end>19)
131             {
132                 setLine(114.518483,38.049043,114.507972,38.049667,"green");//北國商城-平安大街
133                 setPoint(114.518483,38.049043,"北國商城",1);
134                 setPoint(114.507972,38.049667,"平安大街",1);
135             }
136             if(start<=20&&end>20)
137             {
138                 setLine(114.507972,38.049667,114.493744,38.049809,"green");//平安大街-解放廣場
139                 setPoint(114.507972,38.049667,"平安大街",1);
140                 setPoint(114.493744,38.049809,"解放廣場",1);
141             }
142             if(start<=21&&end>21)
143             {
144                 setLine(114.493744,38.049809,114.483772,38.049448,"green");//解放廣場-新百廣場
145                 setPoint(114.493744,38.049809,"解放廣場",1);
146                 setPoint(114.483772,38.049448,"新百廣場",1);
147             }
148             if(start<=22&&end>22)
149             {
150                 setLine(114.483772,38.049448,114.472184,38.048965,"green");//新百廣場-烈士陵園
151                 setPoint(114.483772,38.049448,"新百廣場",1);
152                 setPoint(114.472184,38.048965,"烈士陵園",1);
153             }
154             if(start<=23&&end>23)
155             {
156                 
157                 setLine(114.472184,38.048965,114.458637,38.048111,"green");//烈士陵園-和平醫院
158                 setPoint(114.472184,38.048965,"烈士陵園",1);
159                 setPoint(114.458637,38.048111,"和平醫院",1);
160             }
161             if(start<=24&&end>24)
162             {
163                 setLine(114.458637,38.048111,114.44353,38.047209,"green");//和平醫院-長城橋
164                 setPoint(114.458637,38.048111,"和平醫院",1);
165                 setPoint(114.44353,38.047209,"長城橋",1);
166             }
167             if(start<=25&&end>25)
168             {
169                 setLine(114.44353,38.047209,114.429246,38.046385,"green");//長城橋-時光街
170                 setPoint(114.44353,38.047209,"長城橋",1);
171                 setPoint(114.429246,38.046385,"時光街",1);
172             }
173             if(start<=26&&end>26)
174             {
175                 setLine(114.429246,38.046385,114.415825,38.045975,"green");//時光街-西王
176                 setPoint(114.429246,38.046385,"時光街",1);
177                 setPoint(114.415825,38.045975,"西王",1);
178             }
179             if(start<=27&&end>27)
180             {
181                 setLine(114.415825,38.045975,114.388983,38.042902,"green");//西王-上莊
182                 setPoint(114.415825,38.045975,"西王",1);
183                 setPoint(114.388983,38.042902,"上莊",4);
184             }
185             if(start<=28&&end>28)
186             {
187                 setLine(114.388983,38.042902,114.386238,38.031524,"green");//上莊-上莊南
188                 setPoint(114.388983,38.042902,"上莊",4);
189                 setPoint(114.386238,38.031524,"上莊南",4);
190             }
191         }
192     }
View Code

雖然繁瑣,但是這是我想出的最好的辦法了

?輸入序號標識線路

?

但是目前java計算的結果僅僅是名字的序列,并不包含線路名和序號。所以并未實現相互的連接。

點擊右側懸浮框可定位到相應的地鐵線路

function list_1()//一號線
{dingWei(114.634402,38.088129);
}
function dingWei(x,y)//定位
{var new_point = new BMap.Point(x,y);map.panTo(new_point);
}

使用ajax再不切換頁面的情況下訪問servlet獲取輸出

<script>
$(document).ready(function(){$("[id=select]").click(function(){$.ajax({type: "POST",url: "../SubwayServlet?startName="+$("[id=startName]").val()+"&endName="+$("[id=endName]").val(),dataType: "text",success: function(data){alert("您的路線為:\n"+data);},error: function(){alert("ERROR");}});});});
</script>

目前結果使用alert彈出框來顯示:

?

轉載于:https://www.cnblogs.com/CCRNRT/p/10652440.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/248202.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/248202.shtml
英文地址,請注明出處:http://en.pswp.cn/news/248202.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

掃描槍連接zebra打印機打印條碼標簽無需電腦

在一些流水線生產的現場&#xff0c;需要及時打印條碼標簽&#xff0c;由于現場環境和空間限制&#xff0c;無法擺放電腦或者通過連接電腦來打印條碼標簽的速度太慢&#xff0c; 瑞科條碼特提供了一套掃描槍直接連接條碼打印機&#xff0c;掃描槍掃描條碼之后直接打印輸出條碼標…

簡單的動畫函數封裝(1)

//創建簡單的動畫函數封裝效果(目標對象&#xff0c;目標位置) function animate(obj,target){var id setInterval(function(){if(obj.offsetLeft > target){clearInterval(id);}else{obj.style.left obj.offsetLeft 5 px;}},30) }可以實現如下效果&#xff1a; <div…

NodeMCU學習(三) : 進入網絡世界

閱讀原文可以訪問我的個人博客 把NodeMCU連接到路由器網絡上 NodeMCU可以被配置為Station模式和softAP模式或者Station AP模式&#xff0c;當它被配置為Station模式時&#xff0c;就可以去連接Access Point&#xff08;如路由器&#xff09;。當它被配置為Soft Access Point模…

操作系統原理之進程調度與死鎖(三)

一、進程調度的功能與時機 進程調度&#xff1a;進程調度的功能由操作系統的進程調度程序完成 具體任務&#xff1a;按照某種策略和算法從就緒態進程中為當前空閑的CPU選擇在其上運行的新進程。 進程調度的時機&#xff1a;進程正常或異常結束、進程阻塞、有更高優先級進程到來…

模擬京東側邊欄

思路&#xff1a; // 1. 獲取元素 // 1.1 獲取一組li // 1.2 獲取一組類名為item的div // 1.3 獲取類名為slide的div// 2. 循環遍歷給每一個li注冊onmouseenter&#xff0c;并且每一個li添加一個index表示索引 // 2.1 循環遍歷把所有的li的類名設置為,把所有的item的display設…

ViewPager + TabLayout + Fragment + MediaPlayer的使用

效果圖 在gradle里導包 implementation com.android.support:design:28.0.0 activity_main <?xml version"1.0" encoding"utf-8"?><LinearLayout xmlns:android"http://schemas.android.com/apk/res/android" xmlns:tools"http…

vs code打開文件顯示的中文亂碼

這種情況下&#xff0c;一般是編碼格式導致的&#xff0c;操作辦法&#xff1a; 鼠標點擊之后&#xff0c;上面會彈出這個界面&#xff0c;雙擊選中 然后從UTF-8換到GB2312&#xff0c;或者自己根據情況&#xff0c;更改編碼格式 轉載于:https://www.cnblogs.com/132818Creator…

操作系統原理之內存管理(第四章第一部分)

內存管理的?標&#xff1a;實現內存分配和回收&#xff0c;提高內存空間的利用率和內存的訪問速度 一、存儲器的層次結構 寄存器&#xff1a;在CPU內部有一組CPU寄存器&#xff0c;寄存器是cpu直接訪問和處理的數據&#xff0c;是一個臨時放數據的空間。 高速緩沖區&#xff1…

自寫圖片遮罩層放大功能jquery插件源代碼,photobox.js 1.0版,不兼容IE6

版權聲明&#xff1a;本文為博主原創文章。未經博主同意不得轉載。 https://blog.csdn.net/u010480479/article/details/27362147 阿嚏~~~ 話說本屌絲沒啥開發插件的經驗&#xff0c;可是天公不作美&#xff0c;公司須要讓我自己開發個圖片放大的插件 但公司老大的話&#xff0…

黑白兩客進入頁面(1)

<div><span>歡</span><span>迎</span><span>來</span><span>到</span><span><strong>黑白兩客</strong></span><span>的</span><span>博</span><span>客</sp…

zookeeper學習之原理

一、zookeeper 是什么 Zookeeper是一個分布式協調服務&#xff0c;可用于服務發現&#xff0c;分布式鎖&#xff0c;分布式領導選舉&#xff0c;配置管理等。這一切的基礎&#xff0c;都是Zookeeper提供了一個類似于Linux文件系統的樹形結構&#xff08;可認為是輕量級的內存文…

mysql鎖表查詢和解鎖操作

解除正在死鎖的狀態有兩種方法&#xff1a; 第一種&#xff1a; 1.查詢是否鎖表 show OPEN TABLES where In_use > 0; 2.查詢進程&#xff08;如果您有SUPER權限&#xff0c;您可以看到所有線程。否則&#xff0c;您只能看到您自己的線程&#xff09; show processlist 3.殺…

前端js基礎智能機器人

<script>var flag true;while(flag) {//獲取用戶輸入信息 var code prompt(你好,我是小娜\n請輸入編號或者關鍵詞選擇功能,輸入Q(q)退出聊天\n1.計算\n2.時間\n3.笑話);switch( code ) {case q:case Q:alert(狠心的拋棄了小娜);flag false;break;case 1:case 計算:var…

2018-2019-2 《Java程序設計》第6周學習總結

20175319 2018-2019-2 《Java程序設計》第6周學習總結 教材學習內容總結 本周學習《Java程序設計》第七章和第十章&#xff1a; 內部類&#xff1a; 1.內部類可以使用外嵌類的成員變量和方法。 2.類體中不可以聲明類變量和類方法。 3.內部類僅供外嵌類使用。 4.類聲明可以使用s…

Hbase基本原理

一、hbase是什么 HBase 是一種類似于數據庫的存儲層&#xff0c;也就是說 HBase 適用于結構化的存儲。并且 HBase 是一種列式的分布式數據庫&#xff0c;是由當年的 Google 公布的 BigTable 的論文而生。HBase 底層依舊依賴 HDFS 來作為其物理存儲。 二、hbase的列式存儲結構 行…

最終的動畫函數封裝(2)

<button>點擊觸發1</button><button>點擊觸發2</button><div></div><style>*{margin: 0;padding: 0;}div{width: 100px;height: 100px;background-color: red;position: relative;top: 100px;left: 0;}.div1{display: block;width: …

第二次JAVA作業

感覺和C語言后面都差不多&#xff0c;就是開頭的定義和輸入輸出有點差別&#xff0c;多寫幾次應該能搞清楚開頭的定義&#xff0c;接下來是四道題目的截圖。 第一題&#xff1a; 第二題&#xff1a; 第三題&#xff1a; 第四題&#xff1a; 轉載于:https://www.cnblogs.com/YSh…

springmvc框架下Filter過濾器中過濾文件后 后續 controller為空的問題

開發過程中遇到過濾文件類型的問題&#xff0c;需要校驗文件的頭信息&#xff0c;&#xff0c;在過濾器中通過request獲取文件流信息 但是后續的controller中的MultipartFile一直都是空的&#xff0c;網上的網友的方案使用了一堆比如 使用BodyReaderHttpServletRequestWrapper…

js(Dom+Bom)第七天(1)

JavaScript BOM介紹 概念 BOM&#xff08;Browser Object Model&#xff09;即瀏覽器對象模型。 本質&#xff1a; 通過對象抽象瀏覽器中的一些功能 例如&#xff1a;&#xff08;刷新頁面&#xff0c;alert,confirm,pormpt,跳轉 ...&#xff09;BOM頂級對象 window對象是js中…

「十二省聯考 2019」皮配——dp

題目 【題目描述】 #### 題目背景一年一度的綜藝節目《中國好碼農》又開始了。本季度&#xff0c;好碼農由 Yazid、Zayid、小 R、大 R 四位夢想導師坐鎮&#xff0c;他們都將組建自己的夢想戰隊&#xff0c;并率領隊員向夢想發起沖擊。 四位導師的**派系**不盡相同&#xff0c;…