Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
2
import java.util.*; import java.lang.*; class Rextester{ public static void main(String[] args){ for(int iter = 0; iter < 3; iter++){ aBuilder builder; String str_out = ""; switch (iter){ case 0: builder = new UncheckedBuilder(); break; case 1: builder = new MiddleBuilder(); break; default: builder = new Chip_And_Dail_Builder(); break; } builder.addParamSet(10000, 1.0, 1, 10); builder.addParamSet(10000, 1.0, 2, 10); builder.addParamSet(20000, 1.5, 1, 20); builder.addParamSet(5000, 2.1, 4, 5); builder.build(); str_out += builder.getBuild(); System.out.print(str_out); } } } abstract class aBuilder{ protected List<Integer> _emkost = new ArrayList<>(); protected List<Double> _sila = new ArrayList<>(); protected List<Integer> _kolvo = new ArrayList<>(); protected List<Integer> _vremya = new ArrayList<>(); protected String _str_debug = ""; protected String _str_out = ""; abstract public boolean addParamSet(int emkost, double sila, int kolvo, int vremya); // добавляем набор параметров public void build(){ _str_out = ""; // очищаем предыдущее построение for(int i = 0; i < _emkost.size(); i++){ _str_out += "[" + i + "] emkost:" + _emkost.get(i) + ", sila:" + _sila.get(i) + ", vremya: " + _kolvo.get(i)+"\n"; } } abstract public String getBuild(); // получение результата "построений" } class UncheckedBuilder extends aBuilder{ @Override public boolean addParamSet(int emkost, double sila, int kolvo, int vremya){ _emkost.add(emkost); _kolvo.add(kolvo); _sila.add(sila); _vremya.add(vremya); return true; // данные добавляются без проверки } @Override public String getBuild() { _str_out = "=== iBuilder as UncheckedBuilder ====\n" + _str_out+"\n"; return _str_out; } } class MiddleBuilder extends aBuilder{ @Override public boolean addParamSet(int emkost, double sila, int kolvo, int vremya) { boolean is_add = false; // изначально данные не добавлены if(( emkost == 20000 || emkost == 10000 ) && kolvo >= 1 ) { _emkost.add(emkost); _kolvo.add(kolvo); _sila.add(sila); _vremya.add(vremya); is_add = true; }else{ _str_debug += "не удалось добавить данные: emkost = " + emkost + ", kolvo = " + kolvo + ", sila = " + sila + ", vremya = " + vremya + " по причине Parallel Process Paranoia"+"\n"; } return is_add; // результат, были ли добавлены данные } @Override public String getBuild() { _str_out = "=== iBuilder as MiddleBuilder ====\n" + _str_out; _str_out += "Информация об отладке" + _str_debug+"\n"; return _str_out; } } class Chip_And_Dail_Builder extends aBuilder{ @Override public boolean addParamSet(int emkost, double sila, int kolvo, int vremya) { boolean is_add = false; // изначально данные не добавлены if(sila > 1.5 ) { _emkost.add(emkost); _kolvo.add(kolvo); _sila.add(sila); _vremya.add(vremya); is_add = true; }else{ _str_debug += "не удалось добавить данные: emkost = " + emkost + ", kolvo = " + kolvo + ", sila = " + sila + ", vremya = " + vremya + " по причине Догма предела статичности"+"\n"; } return is_add; // результат, были ли добавлены данные } @Override public String getBuild() { _str_out = "=== iBuilder as Chip_And_Dail_Builder ====\n" + _str_out; _str_out += "Информация об отладке" + _str_debug+"\n"; return _str_out; } }
run
|
edit
|
history
|
help
0
BFS in graph
Interference
Ab
amit
circleapp.java
do while
t-primes
cuboid volume
Daugybos lentele
inheritance