81 lines
4.1 KiB
Java
81 lines
4.1 KiB
Java
|
import java.util.ArrayList;
|
|||
|
|
|||
|
|
|||
|
public class ElectroAppliance {
|
|||
|
// Поля що містять потужність, електромагнітне випромінювання та назву
|
|||
|
private int power;
|
|||
|
private int electromagneticRadiation;
|
|||
|
private String name;
|
|||
|
// Статичні поля, які потрібні для зберігання даних про всі об'єкти класу
|
|||
|
private static int totalPower = 0;
|
|||
|
private static ArrayList<Integer> sortedPowers = new ArrayList<Integer>();
|
|||
|
private static ArrayList<String> sortedNames = new ArrayList<String>();
|
|||
|
private static ArrayList<Integer> electromagneticList = new ArrayList<Integer>();
|
|||
|
private static ArrayList<String> namesList = new ArrayList<String>();
|
|||
|
|
|||
|
|
|||
|
public ElectroAppliance(int power, int electromagneticRadiation, String name) {
|
|||
|
// Присвоюємо полям значення
|
|||
|
this.name = name;
|
|||
|
this.power = power;
|
|||
|
this.electromagneticRadiation = electromagneticRadiation;
|
|||
|
// Додаємо потужність до загальної
|
|||
|
totalPower = totalPower + power;
|
|||
|
// Додаємо дані про електромагнітне випромінювання
|
|||
|
electromagneticList.add(electromagneticRadiation);
|
|||
|
namesList.add(name);
|
|||
|
// Відразу в конструкторі сортуємо список з потужностями
|
|||
|
if (sortedPowers.isEmpty()) {
|
|||
|
sortedPowers.add(power);
|
|||
|
sortedNames.add(name);
|
|||
|
} else {
|
|||
|
for (int i = sortedNames.size()-1; i>=0; i=i-1) {
|
|||
|
if(power>sortedPowers.get(i)){
|
|||
|
sortedPowers.add(i+1, power);
|
|||
|
sortedNames.add(i+1, name);
|
|||
|
} else if(i==0&&power<=sortedPowers.get(i)){
|
|||
|
sortedPowers.add(0, power);
|
|||
|
sortedNames.add(0, name);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
public static void printSortedPowers(){
|
|||
|
for(int i = 0; i<sortedNames.size(); i=i+1){
|
|||
|
System.out.println(sortedNames.get(i)+": "+ Integer.toString(sortedPowers.get(i))+" Вт");
|
|||
|
}
|
|||
|
/** Метод повертає відсортований список приборів по потужності */
|
|||
|
}
|
|||
|
|
|||
|
public static int getTotalPower() {
|
|||
|
return totalPower;
|
|||
|
/** Метод повертає загальну потужність*/
|
|||
|
}
|
|||
|
public static void printDiapasonedElectromagneticRadiation(int[] limits){
|
|||
|
// Втсановлюємо границі з отриманого списку
|
|||
|
int top = limits[1];
|
|||
|
int bottom = limits[0];
|
|||
|
// Створюємо списки з кінцевими значеннями
|
|||
|
ArrayList<Integer> wantedElectromagneticRadiation = new ArrayList<Integer>();
|
|||
|
ArrayList<String> wantedElectromagneticNames = new ArrayList<String>();
|
|||
|
// Відбираємо потрібні значення
|
|||
|
for (int i = 0; i<=electromagneticList.size()-1; i=i+1){
|
|||
|
if(electromagneticList.get(i)<=top&&electromagneticList.get(i)>=bottom){
|
|||
|
wantedElectromagneticRadiation.add(electromagneticList.get(i));
|
|||
|
wantedElectromagneticNames.add(namesList.get(i));
|
|||
|
}
|
|||
|
}
|
|||
|
// Виводимо
|
|||
|
System.out.println("Шуканий список:");
|
|||
|
for (int i = 0; i<=wantedElectromagneticRadiation.size()-1; i=i+1){
|
|||
|
System.out.println(wantedElectromagneticNames.get(i)+": " +Integer.toString(wantedElectromagneticRadiation.get(i))+" Вт");
|
|||
|
}
|
|||
|
/** Метод шукає значення випромінювання в данному діапазоні і виводить ці значення */
|
|||
|
}
|
|||
|
/** Клас елктроприладів, який має може повертати відсортований список приладів по потужності, загальну потужність і
|
|||
|
* електромагнітне випромінювання в данному діапазоні
|
|||
|
*/
|
|||
|
}
|