當前位置:編程學習大全網 - 源碼下載 - 壟斷java源代碼

壟斷java源代碼

包local.tea

進口local . tea . tea . flavor;

公共類註入器擴展TTobj {

公共註入人(字符串名稱){

超級(名);

}

公共空茶座(風味風味茶座tt) {

tt.setTea(新茶(風味));

System.out.println(名稱+“沏壹杯”+風味);

TeaStall.releaseInfuseMan(這個);

}

}

包local.tea

公共類TTobj {

受保護的字符串名稱;

公共TTobj(字符串名){

this.name = this.getClass()。get simplename()+name;

}

}

包local.tea

公共類茶{

公共靜態枚舉風格{

西湖龍井、洞庭碧螺春、白浩銀針、君山銀針、黃山毛峰、武夷巖茶、安溪鐵觀音、信陽毛尖茶、廬山雲霧、六安瓜片。

}

私房風味香精;

公共茶(風味風味){

this.setFlavor(風味);

}

public void set Flavor(Flavor Flavor){

this.flavor =風味;

}

公共風味getFlavor() {

回味;

}

}

包local.tea

公共類TeaClient擴展TTobj實現Runnable {

茶。口味喜歡的口味=茶。味道。欒瓜片;

公共教師客戶端(字符串字符串){

超級(字符串);

system . out . println(this . name+“chez”);

}

public TeaClient(串名,Tea。風味風味){

這個(名字);

favoriteFlavor =風味;

}

@覆蓋

公共無效運行(){

Tea tea = null

服務員服務員= null

嘗試{

System.out.println(name+"小二!泡杯茶!”+favorite flavor);

waiter = teastall . take waiter();

waiter . take order(favorite flavor);

tea = waiter . take tea();

} catch (InterruptedException e) {

System.out.println(name+“沒人管我!我壹氣之下就走了!”+e . getstacktrace());

返回;

}

System.out.println(name+"品鑒贊"+tea . get flavor());

如果(服務員!= null) {

waiter . release();

}

System.out.println(name+“我要走了~”);

}

}

包local.tea

公共類TeaMenu {

茶茶;

}

包local.tea

導入Java . util . concurrent . arrayblockingqueue;

導入Java . util . concurrent . blocking queue;

公共類茶座{

私靜串名=“有茶館”;

public static final int CLIENT _ MAX _ NUM = 5;

私有靜態阻塞隊列& lt輸液人& gtinfuse men = new ArrayBlockingQueue & lt;輸液人& gt(

1);

私有靜態阻塞隊列& lt服務員& gtwaiters = new ArrayBlockingQueue & lt;服務員& gt(

1);

/**

* @param args

*/

公共靜態void main(String[] args) {

Waiters.add(新服務員(“小二”);

InfuseMen.add(新的InfuseMan(“烹飪”));

System.out.println(name+“開門”);

新語絲(新老師客戶(“梁朝偉”))。start();

新帖(“劉嘉玲”,茶.味.武夷巖茶)。start();

System.out.println(名稱+"關閉時間");

}

public static Waiter takeWaiter()拋出InterruptedException {

返回waiters . take();

}

public static void releaseWaiter(服務員服務員){

waiters.add(服務員);

}

public static infuse man take infuse man()拋出InterruptedException {

返回infuse men . take();

}

public static void release InfuseMan(InfuseMan im){

infuse men . add(im);

}

}

包local.tea

公共類等待程序擴展TTobj {

公共服務員(字符串名){

超級(名);

}

茶。風味順序;

TeacupTray TT = new TeacupTray();

公共無效外賣(茶。口味順序)引發中斷的異常{

this.order = order

System.out.println(name+“這位先生點的”+order);

TeaStall.takeInfuseMan()。takeTea(this.order,TT);

}

公共茶takeTea() {

System.out.println(name+“茶來了”);

返回TT . gettea();

}

公共無效發布(){

TeaStall.releaseWaiter(這個);

}

}

班級教師培訓{

私房茶茶;

公共茶座(){

回茶;

}

公共空setTea(茶茶){

this.tea =茶;

}

}包local.tea

進口local . tea . tea . flavor;

公共類註入器擴展TTobj {

公共註入人(字符串名稱){

超級(名);

}

公共空茶座(風味風味茶座tt) {

tt.setTea(新茶(風味));

System.out.println(名稱+“沏壹杯”+風味);

TeaStall.releaseInfuseMan(這個);

}

}

包local.tea

公共類TTobj {

受保護的字符串名稱;

公共TTobj(字符串名){

this.name = this.getClass()。get simplename()+name;

}

}

包local.tea

公共類茶{

公共靜態枚舉風格{

西湖龍井、洞庭碧螺春、白浩銀針、君山銀針、黃山毛峰、武夷巖茶、安溪鐵觀音、信陽毛尖茶、廬山雲霧、六安瓜片。

}

私房風味香精;

公共茶(風味風味){

this.setFlavor(風味);

}

public void set Flavor(Flavor Flavor){

this.flavor =風味;

}

公共風味getFlavor() {

回味;

}

}

包local.tea

公共類TeaClient擴展TTobj實現Runnable {

茶。口味喜歡的口味=茶。味道。欒瓜片;

公共教師客戶端(字符串字符串){

超級(字符串);

system . out . println(this . name+“chez”);

}

public TeaClient(串名,Tea。風味風味){

這個(名字);

favoriteFlavor =風味;

}

@覆蓋

公共無效運行(){

Tea tea = null

服務員服務員= null

嘗試{

System.out.println(name+"小二!泡杯茶!”+favorite flavor);

waiter = teastall . take waiter();

waiter . take order(favorite flavor);

tea = waiter . take tea();

} catch (InterruptedException e) {

System.out.println(name+“沒人管我!我壹氣之下就走了!”+e . getstacktrace());

返回;

}

System.out.println(name+"品鑒贊"+tea . get flavor());

如果(服務員!= null) {

waiter . release();

}

System.out.println(name+“我要走了~”);

}

}

包local.tea

公共類TeaMenu {

茶茶;

}

包local.tea

導入Java . util . concurrent . arrayblockingqueue;

導入Java . util . concurrent . blocking queue;

公共類茶座{

私靜串名=“有茶館”;

public static final int CLIENT _ MAX _ NUM = 5;

私有靜態阻塞隊列& lt輸液人& gtinfuse men = new ArrayBlockingQueue & lt;輸液人& gt(

1);

私有靜態阻塞隊列& lt服務員& gtwaiters = new ArrayBlockingQueue & lt;服務員& gt(

1);

/**

* @param args

*/

公共靜態void main(String[] args) {

Waiters.add(新服務員(“小二”);

InfuseMen.add(新的InfuseMan(“烹飪”));

System.out.println(name+“開門”);

新語絲(新老師客戶(“梁朝偉”))。start();

新帖(“劉嘉玲”,茶.味.武夷巖茶)。start();

System.out.println(名稱+"關閉時間");

}

public static Waiter takeWaiter()拋出InterruptedException {

返回waiters . take();

}

public static void releaseWaiter(服務員服務員){

waiters.add(服務員);

}

public static infuse man take infuse man()拋出InterruptedException {

返回infuse men . take();

}

public static void release InfuseMan(InfuseMan im){

infuse men . add(im);

}

}

包local.tea

公共類等待程序擴展TTobj {

公共服務員(字符串名){

超級(名);

}

茶。風味順序;

TeacupTray TT = new TeacupTray();

公共無效外賣(茶。口味順序)引發中斷的異常{

this.order = order

System.out.println(name+“這位先生點的”+order);

TeaStall.takeInfuseMan()。takeTea(this.order,TT);

}

公共茶takeTea() {

System.out.println(name+“茶來了”);

返回TT . gettea();

}

公共無效發布(){

TeaStall.releaseWaiter(這個);

}

}

班級教師培訓{

私房茶茶;

公共茶座(){

回茶;

}

公共空setTea(茶茶){

this.tea =茶;

}

}

=========================

運行結果:

有壹家茶館開張了。

梁朝偉老師來了。

劉嘉玲老師來了。

梁朝偉老師招小二!泡杯茶!六安瓜片茶

服務員小張耳,這位先生點了六安瓜片。

纖夫煮了壹杯鑾瓜片。

服務員小張耳茶來了

梁朝偉老師品嘗並稱贊六安瓜片。

梁朝偉老師,我走了~

有壹家茶館關門了。

劉嘉玲小二老師!泡杯茶!武夷巖茶

服務員小張耳,這位先生點了武夷巖茶。

沏茶人煮泡了壹杯武夷巖茶。

服務員小張耳茶來了

劉嘉玲老師品嘗並稱贊武夷巖茶。

劉嘉玲老師,我走了~

  • 上一篇:des密鑰如何生成 java
  • 下一篇:React Native - PanResponder - 捕獲冒泡機制詳解
  • copyright 2024編程學習大全網