1. 程式人生 > >黑馬程式設計師--7k面試題交通燈

黑馬程式設計師--7k面試題交通燈

package com.itheima.traffic;

import java.beans.VetoableChangeSupport;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;

/**
 * 每個Road物件代表一條路線,總共有12條路線,即系統中總共要產生12個Road例項物件。
 * 每條路線上隨機增加新的車輛,增加到一個集合中儲存。
 * 每條路線每隔一秒都會檢查控制本路線的燈是否為綠,是則將本路線儲存車的集合中的第一輛車移除,即表示車穿過了路口。
 * 
 *
 */

public class Road {
	
	//車輛用集合字串表示
	private List<String> vechiles = new ArrayList<String>();
	//每條路都有一個名字
	private String name = null;
	
	//宣告構造方法
	public Road(String name){
		this.name = name;
		
		//啟動一個執行緒模擬車輛上路的過程,即每隔一段時間向vechile集合中新增一兩車
		ExecutorService pool = Executors.newSingleThreadExecutor();
		pool.execute(new Runnable(){
			@Override
			public void run() {
				for(int i=0;i<1000;i++){
					//睡眠1-10秒
					try {
						Thread.sleep((new Random().nextInt(10)+1)*1000);
						vechiles.add(Road.this.name+"--"+i);
					} catch (InterruptedException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
				}
				
			}
			
		});
		
		//設計定時器,每隔一秒就檢查路上的等是否為綠燈,如果是就放行一輛車
		ScheduledExecutorService timer = Executors.newScheduledThreadPool(1);
		timer.scheduleAtFixedRate(
				new Runnable(){

					@Override
					public void run() {
						//首先檢查路上是否有車
						if(vechiles.size()>0){
							boolean lighted = Lamp.valueOf(Road.this.name).isLighted();
							if(lighted){
								System.out.println(vechiles.remove(0)+" is traversing");
							}
							
						}
						
					}
					
				},
				1,
				1,
				TimeUnit.SECONDS
			);
		
	}
}

3.交通控制類,對交通燈進行控制並啟動整個流程 :

相關推薦

黑馬程式設計師--7k試題交通

package com.itheima.traffic; import java.beans.VetoableChangeSupport; import java.util.ArrayList; import java.util.List; import java.util.Random; import j

黑馬程式設計師——7K試題交通(My)

  ------- android培訓、java培訓、期待與您交流! ---------- 模擬實現十字路口的交通燈管理系統邏輯,具體需求如下: 1、非同步隨機生成按照各個路線行駛的車輛。 例如:        由南向而來去往北向的車輛 ---- 直行車輛      

黑馬程式設計師——7k試題——交通管理系統

需求如下: 非同步隨機生成按照各個路線行駛的車輛。 訊號燈只考慮紅綠燈 要考慮左轉車輛控制訊號燈,右轉車輛不受訊號燈控制 具體訊號燈控制邏輯與顯示生活中交通控制邏輯上相同 每量車共過路口為1秒 隨機生成車輛時間間隔及紅綠燈交換時間間隔自定,可設定 不用GUI,用log展現

黑馬程式設計師——7k試題---交通

------<a href="http://www.itheima.com" target="blank">Java培訓、Android培訓、iOS培訓、.Net培訓</a>、期待與您交流! ------- 交通燈管理系統 一、功能需求如下: 1、

黑馬程式設計師----7k試題交通管理系統

畫圖非常有助於分析和理解問題。 十字路總共有12條線路,為了統一程式設計模型,可以假設每條線路都有一個紅綠燈對其進行控制, 右拐的四條線路假設稱為常綠狀態,另外,其他的8條兩兩成對的,可以歸為4組, 所以程式只需考慮途中標註了數字號的4條線路的控制燈的切換順序, 這四條路線的反方向的路線控制燈跟隨

黑馬程式設計師-7k試題交通管理系統

---------------------- ASP.Net+Unity開發、.Net培訓、期待與您交流! ---------------------- 面試題要求: 1.非同步隨機生成按照各種路線行駛的車輛。例如:由南向而來去往北向的車輛--------直行車輛由西向

黑馬程式設計師-----7K試題交通系統

------<a href="http://www.itheima.com" target="blank">Java培訓、Android培訓、iOS培訓、.Net培訓</a>、期待與您交流! ------- 現在每晚都加大力度去學習和加強自己的J

黑馬程式設計師 7K試題破解:交通管理系統

---------------------- ASP.Net+Android+IOS開發、.Net培訓、期待與您交流! ---------------------- 交通燈管理系統 使用者需求 模擬實現十字路口的交通燈管理系統邏輯,具體需求如下:        非同步

黑馬程式設計師7k試題 執行緒池

執行緒池的概念與Executors類的應用首先介紹在TCP伺服器程式設計模型的原理,當一個客戶端連線到伺服器,伺服器要起一個執行緒為之服,當客戶端的回話結束時,執行緒也就結束了,即每一個客戶端連線,伺服器 就要為之建立一個新的執行緒,這好比假設每個報名學員都要通過我來親自接 待,以便給每個學員一種好的感覺,

黑馬程式設計師---7k試題(銀行業務排程系統)

號碼管理器 publicclassNumberManager{ privateint lastNumber =0;//客戶數 privateList queueNumbers =newArrayList();//視窗叫號數 publicsynchronizedInteger generateN

黑馬程式設計師11-7k試題交通

---------------------- android培訓、java培訓、期待與您交流! ---------------------- 1,交通燈管理系統的需求是什麼? 非同步隨機產生按照各個路線行駛的車輛 比如: 由南向北行駛的車輛視為直行車輛 由南向西行駛的車輛視為左行車輛 。。。 訊號燈忽略黃

黑馬程式設計師_7k試題交通管理系統

交通燈管理系統 1. 模擬實現十字路口的交通燈管理系統邏輯,具體需求如下:非同步隨機生成按照各個路線行駛的車輛。例如:由南向而來去往北向的車輛---- 直行車輛由西向而來去往南向的車輛---- 右轉車輛由東向而來去往南向的車輛---- 左轉車輛        ......        訊號燈忽略黃燈,只考

黑馬程式設計師_12_7k試題交通

---------------------- ASP.Net+Android+IOS開發、.Net培訓、期待與您交流! ----------------------  交通燈管理系統的專案需求: 非同步隨機生成按照各個路線行駛的車輛。 例如:由南來向北去的車輛——直

黑馬程式設計師_7K試題交通

   ------- <a href="http://www.itheima.com" target="blank">android培訓</a>、<a href="http://www.itheima.com" target="blank"&g

黑馬程式設計師_7k試題交通管理系統)學習筆記

總共有12條路線,為了統一程式設計模型,可以假設每條路線都有一個紅綠燈對其進行控制,右轉彎的4條路線的控制燈可以假設稱為常綠狀態,另外,其他的8條線路是兩兩成對的,可以歸為4組,所以,程式只需考慮圖中標註了數字號的4條路線的控制燈的切換順序,這4條路線相反方向的路線的控制燈跟隨這4條路線切換,不必額外考慮

黑馬程式設計師_7K試題_交通管理系統

-面向物件分析設計經驗:誰用於資料,誰就對外提供操作這些資料的方法。 典型案例:      人在黑板上畫圓。 分析: 共有三個物件:人、黑板、圓。動作:畫 畫圓需要圓心和半徑,圓心和半徑都是圓的屬性上,圓擁有資料,所以圓物件提供畫圓的方法 圓在黑板上,黑板擁有

黑馬程式設計師_7K試題交通系統

                                            交通燈訊號模擬系統 一、概述 模擬實現十字路口的交通燈管理系統邏輯,具體需求如下:(需求直接來源於老師的文件) ①      非同步隨機生成按照各個路線行駛的車輛。 例如:      

黑馬程式設計師__7K試題交通管理系統

---------------------- Android開發、java培訓、期待與您交流! ---------------------- 一.需求 模擬實現十字路口的交通燈管理系統邏輯,具體需求如下: 1.非同步隨機生成按照各個路線行駛的車輛。 例如:       

黑馬程式設計師_試題1(交通管理系統)

一.專案需求:                 模擬實現十字路口的交通燈管理系統邏輯:       非同步隨機生成按照各個路線行駛的車輛。       例如:       由南向而來去往北向的車輛 ---- 直行車輛       由西向而來去往南向的車輛 ---- 右

黑馬程式設計師------------高新試題之銀行排程系統

     面向物件的分析和設計說明:        1、有三種客戶:VIP客戶、普通客戶、快速客戶。需要非同步隨機產生各種型別的客戶。        2、每一個客戶其實就是由銀行的一個取號機器產生號碼的方式來表示的。所以,要有一個號碼管理器物件,讓這個物件不斷地產生號碼,就等於隨機生成了客戶。