Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
heeeeell
//'main' method must be in a class 'Rextester'. //Compiler version 1.8.0_111 import java.sql.*; import java.util.*; import java.lang.*; class Rextester { public static final int INDEX_RES_240 = 1; public static final int INDEX_RES_230 = 2; public static final int INDEX_RES_190 = 3; public static final int INDEX_RES_220 = 4; public static void main(String[] args) { DataFactory factory = new DataFactory(); List<aData> list_items = new ArrayList<aData> (); // добавляем 5 записей по 4м параметрам aData item = factory.getByParams("Promethean", 1280x800, INDEX_RES_240); list_items.add(item); item = factory.getByParams("Acer", 800x600, INDEX_RES_190); list_items.add(item); item = factory.getByParams("Benq", 800x600, INDEX_RES_190); list_items.add(item); item = factory.getByParams("Nec", 1024x768, INDEX_RES_220); list_items.add(item); item = factory.getByParams("Nec", 800x600, INDEX_RES_220); list_items.add(item); item = factory.getByParams("Promethean", 1024x768, INDEX_RES_230); list_items.add(item); item = factory.getByParams("Laffi", 1024x768, INDEX_RES_240); list_items.add(item); for(int i = 0; i < list_items.size(); i++) // выводим на экран результат работы одной «фабрики» { // (в данном случае DataFactory) всех записей list_items.get(i).showName(); } } } class DataFactory { public aData getByParams(String brand, double screen, Integer resolution) { aData retData; if (brand == "Promethean") { retData = new Promethean(screen, resolution); } else if (brand == "Acer") { retData = new Acer(screen, resolution); } else if (brand == "Benq") { retData = new Benq(screen, resolution); } else if (brand == "Nec") { retData = new Nec(screen, resolution); } else { retData = new Empty("Unknown name, ITEM NOT FOUND!("); // заглушка } return retData; } } abstract class aData { protected String _str_name = "Unknown name"; public abstract void showName(); } class Empty extends aData { Empty(String str) { _str_name = str; } @Override public void showName() { System.out.println("Empty class:" + _str_name); } } class Promethean extends aData { Promethean(double screen, Integer resolution) { if(screen == 1280x800) { if(resolution == Rextester.INDEX_RES_240) // по идее создается подкласс + вызов заглушки Empty() { _str_name = "PRM-45A,Среднее время наработки на отказ:2100,Коэф-фициент готов-ности:0,9971,Среднее время восстанов-ления:6,Средний срок службы:3500 часов"; } else if(resolution == Rextester.INDEX_RES_230) // по идее создается подкласс + вызов заглушки Empty() { _str_name = "UST-P1,Среднее время наработки на отказ:2600 часов,Коэф-фициент готов-ности:0.9984,Среднее время восстанов-ления:4 часов,Средний срок службы:3500 часов"; } else { _str_name = "Promethean brand, battery 1280x800, ITEM NOT FOUND!!(("; } } else { _str_name = "Promethean brand, ITEM NOT FOUND!("; } } @Override public void showName() { System.out.println("Promethean class:" + _str_name); } } class Acer extends aData { Acer(double screen, Integer resolution) { if(screen == 800x600) { if(resolution == Rextester.INDEX_RES_190) // по идее создается подкласс + вызов заглушки Empty() { _str_name = "Acer X1110,Среднее время наработки на отказ:2100 часов,Коэф-фициент готов-ности:0.9980,Среднее время восстанов-ления:5часов,Средний срок службы:4500 часов"; } else { _str_name = "Acer brand, screen 800x600, ITEM NOT FOUND!!(("; } } else { _str_name = "Acer brand, ITEM NOT FOUND!("; } } @Override public void showName() { System.out.println("Acer class:" + _str_name); } } class Benq extends aData { Benq(double screen, Integer resolution) { if(screen == 800x600) { if(resolution == Rextester.INDEX_RES_190) // по идее создается подкласс + вызов заглушки Empty() { _str_name = "BENQ M5506 DLP,Среднее время наработки на отказ:1700 часов,Коэф-фициент готов-ности:0.9958,Среднее время восстанов-ления:7 часов,Средний срок службы:4000 часов"; } else { _str_name = "BENQ brand, screen 800x600, ITEM NOT FOUND!!(("; } } else { _str_name = "BENQ brand, ITEM NOT FOUND!("; } } @Override public void showName() { System.out.println("BENQ class:" + _str_name); } } class NEC extends aData { NEC(double screen, Integer resolution) { if(screen == 800x600) { if(resolution == Rextester.INDEX_RES_220) // по идее создается подкласс + вызов заглушки Empty() { _str_name = "LT220,Среднее время наработки на отказ:600 часов,Коэф-фициент готов-ности:0.9836,Среднее время восстанов-ления:10 часов,Средний срок службы:1500 часов"; } else { _str_name = "NEC brand, screen 800x600, ITEM NOT FOUND!!(("; } } else if (screen == 1024x768) if(resolution == Rextester.INDEX_RES_220) { _str_name = "HT1100,Среднее время наработки на отказ:1600 часов,Коэф-фициент готов-ности:0.9962,Среднее время восстанов-ления:6 часов,Средний срок службы:3000 часов"; } { _str_name = "NEC brand, screen 1024x768, ITEM NOT FOUND!!(("; } else { _str_name = "TotuJoe brand, ITEM NOT FOUND!("; } } @Override public void showName() { System.out.println("NEC class:" + _str_name); } }
run
|
edit
|
history
|
help
0
Marvel
Apple Banana Pear question
LinearSearch
collectors and stream
ElaineBrown**
classwork
HelloWorld2
4th question
ArrayOperation
postincrement2