Red de conocimiento informático - Material del sitio web - Código fuente de Monopoly Java

Código fuente de Monopoly Java

Paquete local.tea

Importar local.tea.tea.flavor;

El inyector de clase pública extiende TTobj {

Inyector público (nombre de cadena){

Super (nombre);

}

Casa de té pública vacía (sabor sabor casa de té tt) {

tt.setTea(新茶(Sabor)) ;

System.out.println(nombre Sabor "hacer una taza");

TeaStall.releaseInfuseMan(this);

}

}

Paquete local.tea

TTobj de clase pública {

Nombre de cadena protegida;

TTobj público (nombre de cadena){

este.nombre = esta.getClass(). get simplename() nombre;

}

}

Empaque local.tea

Té de clase pública{

Estilo de enumeración estática pública{

West Lake Longjing, Dongting Biluochun, Baihao Silver Needle, Junshan Silver Needle, Huangshan Maofeng, Wuyi Rock Tea, Anxi Tieguanyin, Xinyang Maojian Tea, Lushan Yunwu, Lu'an Guapian.

}

Sabor privado;

Té público(sabor){

this.setFlavor(sabor);

}

sabor público void(sabor sabor){

this.flavor = sabor;

}

sabor público getFlavor () {

Regusto;

}

}

Paquete local.tea

Clase pública TeaClient se extiende TTobj para implementar Runnable {

Tea. Pruebe su sabor favorito = té. oler. Luan Guapian;

Cliente de profesor público(cadena cadena){

Super(cadena);

sistema println(este . nombre "chez") ;

}

TeaClient público (nombre de cadena, Tea.

saborSabor){

este(nombre);

favoritoSabor = sabor;

}

@override

public void Run(){

Té té = null

WaiterWaiter = null

Pruebe {

System.out.println (nombre "¡Camarero! ¡Prepara una taza de té!" sabor favorito);

camarero = teastall .

té = camarero . toma té();

} catch (InterruptedException e) {

System.out.println(name "¡Nadie se preocupa por mí! Estaba tan ¡Enojado porque se ha ido!" e . getstacktrace());

Regresar;

}

System.out.println(nombre "Taste Appreciation" tea . get sabor());

if (camarero!= null) {

camarero liberación();

}

System. out.println(name "Me voy~");

}

}

Paquete local.tea

Clase pública TeaMenu {

Chacha;

}

Paquete local.tea

Importar Java util .

Importar Java . util . concurrente .cola de bloqueo;

Casa de té de clase pública {

Nombre de cadena privada = "You Teahouse";

pública estática final int CLIENT _ MAX _ NUM = 5;

Cola de bloqueo estática privada lt infusion man gtinfuse men = new ArrayBlockingQueue lt infusion man gt (

1); p>Cola de bloqueo estática privada lt camareros gtwaiters = new ArrayBlockingQueue lt; camareros gt (

1

/**

* @param args

*/

Public static void main(String[] args) {

Camareros.add(nuevo camarero("camarero");

InfuseMen.add(new InfuseMan("Cocinando"));

System.out.println(nombre "Abre la puerta");

New Silk(nuevo profesor cliente( " Tony Leung")). start();

Nueva publicación ("Carina Lau", tea.flavor.Wuyi rock tea).

start();

System.out.println(name "Hora de cierre");

}

El camarero estático público takeWaiter() lanza InterruptedException {< / p>

Devolver camareros.take();

}

public static void releaseWaiter(camarero){

waiters.add(camarero);

}

público estático infuse man take infuse man() lanza InterruptedException {

Devuelve infuse men();

}

liberación de vacío estático público InfuseMan(InfuseMan im){

infuse men add(im);

}

}

Paquete local.tea

Extensión de camarero de clase pública TTobj {

Camarero público(nombre de cadena){

Super(nombre);

}

Té. Orden de sabor;

TeacupTray TT = new TeacupTray();

Public void Takeaway(Tea. FlavorOrder) arroja una excepción interrumpida {

this.order = orden

System.out.println(nombre orden "Este caballero ordenó");

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

}

Té público takeTea() {

System.out.println(nombre "El té está aquí") ;

Devolver TT .gettea();

}

Liberación de vacío público(){

TeaStall.releaseWaiter(this);

}

}

Formación de profesores de clase{

Casa de té privada;

Casa de té pública (){

Volver al té;

}

Set público vacíoTea(茶茶){

this.tea = tea;

}

}Paquete local.tea

Importar local.tea.tea.flavor;

El inyector de clase pública extiende TTobj {

Inyector público (nombre de cadena) {

Super (nombre);

}

Casa de té pública vacía (sabor sabor casa de té tt) {

tt.setTea(nuevo té (sabor));

System.out.println(nombre del sabor "hacer una taza");

TeaStall.releaseInfuseMan(this);

}

}

Paquete local.tea

Clase pública TTobj {

Nombre de cadena protegida;

TTobj público (nombre de cadena){

this.name = this.getClass().

get simplename() nombre;

}

}

Empaque local.tea

Té de clase pública{

Estilo de enumeración estática pública{

West Lake Longjing, Dongting Biluochun, Baihao Silver Needle, Junshan Silver Needle, Huangshan Maofeng, Wuyi Rock Tea, Anxi Tieguanyin, Xinyang Maojian Tea, Lushan Yunwu, Lu'an Guapian.

}

Sabor privado;

Té público(sabor){

this.setFlavor(sabor);

}

sabor público void(sabor sabor){

this.flavor = sabor;

}

sabor público getFlavor () {

Regusto;

}

}

Paquete local.tea

Clase pública TeaClient se extiende TTobj para implementar Runnable {

Tea. Pruebe su sabor favorito = té. oler. Luan Guapian;

Cliente de profesor público(cadena cadena){

Super(cadena);

sistema println(este . nombre "chez") ;

}

TeaClient público (nombre de cadena, Tea.

saborSabor){

este(nombre);

favoritoSabor = sabor;

}

@override

public void Run(){

Té té = null

WaiterWaiter = null

Pruebe {

System.out.println (nombre "¡Camarero! ¡Prepara una taza de té!" sabor favorito);

camarero = teastall .

té = camarero . toma té();

} catch (InterruptedException e) {

System.out.println(name "¡Nadie se preocupa por mí! Estaba tan ¡Enojado porque se ha ido!" e . getstacktrace());

Regresar;

}

System.out.println(nombre "Taste Appreciation" tea . get sabor());

if (camarero!= null) {

camarero liberación();

}

System. out.println(name "Me voy~");

}

}

Paquete local.tea

Clase pública TeaMenu {

Chacha;

}

Paquete local.tea

Importar Java util .

Importar Java . util . concurrente .cola de bloqueo;

Casa de té de clase pública {

Nombre de cadena privada = "You Teahouse";

pública estática final int CLIENT _ MAX _ NUM = 5;

Cola de bloqueo estática privada lt infusion man gtinfuse men = new ArrayBlockingQueue lt infusion man gt (

1); p>Cola de bloqueo estática privada lt camareros gtwaiters = new ArrayBlockingQueue lt; camareros gt (

1

/**

* @param args

*/

Public static void main(String[] args) {

Camareros.add(nuevo camarero("camarero");

InfuseMen.add(new InfuseMan("Cocinando"));

System.out.println(nombre "Abre la puerta");

New Silk(nuevo profesor cliente( " Tony Leung")). start();

Nueva publicación ("Carina Lau", tea.flavor.Wuyi rock tea).

start();

System.out.println(name "Hora de cierre");

}

El camarero estático público takeWaiter() lanza InterruptedException {< / p>

Devolver camareros.take();

}

public static void releaseWaiter(camarero){

waiters.add(camarero);

}

público estático infuse man take infuse man() lanza InterruptedException {

Devuelve infuse men();

}

liberación de vacío estático público InfuseMan(InfuseMan im){

infuse men add(im);

}

}

Paquete local.tea

Extensión de camarero de clase pública TTobj {

Camarero público(nombre de cadena){

Super(nombre);

}

Té. Orden de sabor;

TeacupTray TT = new TeacupTray();

Public void Takeaway(Tea. FlavorOrder) arroja una excepción interrumpida {

this.order = orden

System.out.println(nombre orden "Este caballero ordenó");

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

}

Té público takeTea() {

System.out.println(nombre "El té está aquí") ;

Devolver TT .gettea();

}

Liberación de vacío público(){

TeaStall.releaseWaiter(this);

}

}

Formación de profesores de clase{

Casa de té privada;

Casa de té pública (){

Volver al té;

}

Set público vacíoTea(茶茶){

this.tea = tea;

}

}

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

Resultado de la ejecución:

Se abrió una casa de té.

El profesor Tony Leung está aquí.

La profesora Carina Lau está aquí.

¡El profesor Tony Leung está reclutando a un segundo niño! ¡Prepara una taza de té! Té Liu'an Guapian

El camarero Zhang Er, este caballero pidió Lu'an Guapian.

El rastreador cocinó una taza de rodajas de melón.

El camarero Xiao Zhang'er Tea está aquí.

El maestro Tony Leung probó y elogió a Lu'an Guapian.

Maestro Tony Leung, me voy~

Una casa de té está cerrada.

¡La maestra de primaria de Carina Lau! ¡Prepara una taza de té! Té de Roca Wuyi

El camarero Xiao Zhanger, este caballero pidió té de Roca Wuyi.

La tetera preparó una taza de té de roca Wuyi.

El camarero Xiao Zhang’er Tea está aquí

La maestra Carina Lau probó y elogió el té Wuyi Rock.

Maestra Carina Lau, me voy~