С Новым годом! Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/18: Рейтинг темы: голосов - 18, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 21.03.2016
Сообщений: 13

Не получается разобраться с задачей иерархия приборов

29.03.2016, 13:03. Показов 3491. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Определить иерархию приборов. Включить некоторые в розетку. Посчитать потребляемую мощность. Провести сортировку приборов в квартире на основе одного из параметров. Найти прибор в квартире.

Пока на этом этапе остановился:
1) класс: TypeDevices:
Java
1
2
3
4
5
6
7
8
9
/**
 * Type Devices
 *
 */
public enum TypeDevices {
TV,
LAMP,
COMPUTER
}
2) class Device:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
/**
 * 
 */
 
import uc.Devices.devProperties.DevProperties;
import uc.Devices.devicesType.TypeDevices;
 
/**
 * The device description
 *
 */
public abstract class Device implements InterfaceDevice {
 
    private TypeDevices typeADevice;
    private String powerADevice;
    private boolean stateADevice;
    
  public Device(TypeDevices typeADevice, boolean stateADevice)
  {
      this.typeADevice=typeADevice;
      this.powerADevice=DevProperties.getProperties().get(typeADevice);
      this.stateADevice=stateADevice;
  }
  
  public boolean isOn()
  {
      return stateADevice;
  }
  
  public String getPower()
  {
      return powerADevice;
  }
                                                        //возврат строки с описанием прибора
  public String toString()
  {
      StringBuilder opisprib=new StringBuilder();
      opisprib.append("(").append(this.typeADevice)
              .append(" : ").append(this.powerADevice).append(" : ")
              .append(" : ").append(this.isOn()? "on" : "off").append(" ) ");
      return opisprib.toString();
  }
  
  //public static int compare(boolean x, boolean y) {
  //    return (x == y) ? 0 : (x ? 1 : -1);
  //}
  
  //public int compareTo(InterfaceDevice devToCompare)
  //{
  //    int result;
  //    result=Boolean.c
      
  //}
}
3) interface InterfaceDevice:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/**
 * by type interface
 *
 */
public interface InterfaceDevice extends Comparable<InterfaceDevice> {
/**
 * It is the network device.
 * 
 * 
 */
    boolean isOn();
    
 /**
  * return Power Device   
  */
    String getPower();
    
    
    int compareTo(InterfaceDevice o);
}
4)
class Sorting_of_status :
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package ....
 
import java.util.Comparator;
 
/**
 * 
 *Comparator for sorting
 *  as (ON / OFF).
 *
 */
public class Sorting_of_status implements Comparator<InterfaceDevice>
{
    public int compare(InterfaceDevice obj1, InterfaceDevice obj2)
    {
    if(!obj1.isOn() && obj2.isOn())
    {
        return 1;
    }else
        if (obj1.isOn() && !obj2.isOn())
        {
        return -1;
        }else return 0;
    }
}
Добавлено через 20 часов 1 минуту
Пробую по другому сделать:
создал 3 класса - это 3 прибора
осталось Посчитать потребляемую.мощность Провести сортировку приборов на основе одного из параметров. Найти прибор, соответствующий заданному диапазону параметров.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
public class TV {
    private int width;
    private int length;
    private int height;
    private int Power;
    private boolean vkl_rosetka;
 
    public TV(int w,int l,int h,int p,boolean vkl_r)
    {
        width=w;
        length=l;
        height=h;
        Power=p;
        vkl_rosetka=vkl_r;
    }
    public int getWidth()
    {
        return width;
    }
    public int getLength()
    {
        return length;
    }
    public int getHeight()
    {
     return height;   
    }
    public int getPower()
    {
     return Power;    
    }
    public boolean getSocket()
    {
     return vkl_rosetka;    
    }    
}
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
public class Computer {
private int width;
private int length;
private int height;
private int Power;
private boolean vkl_rosetka;
 
public Computer(int w,int l,int h,int p,boolean vkl_r)
{
    width=w;
    length=l;
    height=h;
    Power=p;
    vkl_rosetka=vkl_r;
}
public int getWidth()
{
    return width;
}
public int getLength()
{
    return length;
}
public int getHeight()
{
 return height;   
}
public int getPower()
{
 return Power;    
}
public boolean getSocket()
{
 return vkl_rosetka;    
}
}
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
public class Lamp {
    private int width;
    private int length;
    private int height;
    private int Power;
    private boolean vkl_rosetka;
 
    public Lamp(int w,int l,int h,int p,boolean vkl_r)
    {
        width=w;
        length=l;
        height=h;
        Power=p;
        vkl_rosetka=vkl_r;
    }
    public int getWidth()
    {
        return width;
    }
    public int getLength()
    {
        return length;
    }
    public int getHeight()
    {
     return height;   
    }
    public int getPower()
    {
     return Power;    
    }
    public boolean getSocket()
    {
     return vkl_rosetka;    
    }
}
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import uc.epam.Dmitry_Mescheryakov.j02_Object_oriented_programming_in_Java.Devices.Computer;
import uc.epam.Dmitry_Mescheryakov.j02_Object_oriented_programming_in_Java.Devices.Lamp;
import uc.epam.Dmitry_Mescheryakov.j02_Object_oriented_programming_in_Java.Devices.TV;
 
/**
 * @author Admin
 *
 */
public class realizac {
 
  Computer comp=new Computer(10, 13, 5, 200, true);
  Lamp lampa=new Lamp(5, 10, 40, 100, true);
  TV telek=new TV(50,100,10,100,false);
  
 
    
}
Java
1
2
3
4
5
6
7
public class sortirovka {
public static void main(String[] args)
{
    
    
}
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.03.2016, 13:03
Ответы с готовыми решениями:

Не получается разобраться с задачей вывести строку и длину строки
Ввести n строк с консоли, найти самую короткую и самую длинную строки. Вывести найденные строки и их длину. Как вывести строку и длину...

Не могу разобраться с задачей
Занимаюсь на двараш. Там слупить бабки за занятия могут, а вот помочь разобраться с задачей - нет. Решил задачу, вроде все работает,...

Не могу с задачей разобраться!
Проблема кроется во второй задаче. Вообще сообразить не могу как её сделать. Помогите пожалуйста!

4
 Аватар для olexiy86
32 / 30 / 11
Регистрация: 27.09.2014
Сообщений: 359
29.03.2016, 16:07
d200000, Я бы посоветовал сначала создать класс Pribor, а в нём будет три поля - имя, местоположение, потребляемая мощность. Затем в классе Solution создаём этих приборов сколько угодно и через конструктор передаём три параметра == имя, местоположение, потребляемая мощность. Потом в методе countWatt считаем общую мощность всех приборов и выдаём в консоль. Тебе осталось дописать метод сортировки и поиска приборов.

 Комментарий модератора 
См. правила п 5.10


Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
public class Solution {
    private static Pribor lampa;
    private static Pribor tv;
    private static Pribor washer;
    private static Pribor computer;
    private static Pribor mixer; 
 
    public static void main(String[] args) {
        
        // Создаём приборы
        
        lampa = new Pribor("lampa", "corridor", 25);
        tv = new Pribor("tv", "badroom", 75);
        washer = new Pribor("washer", "bathroom", 400);
        computer = new Pribor("computer", "room", 350);
        mixer = new Pribor("mixer", "kitchen", 15);
        
        // Включаем все приборы хотя это не обязательно, метод countWatt включит их сам
        
        lampa.on();
        tv.on();
        washer.on();
        computer.on();
        mixer.on();
        
        System.out.println("Общая потребляемая мощность : " + countWatt() + " ватт");
    }
 
    // Метод подсчитывает общую мощность
    private static int countWatt() {
        
        int totalWatt = lampa.on() + tv.on() + washer.on() + computer.on() + mixer.on();
        return totalWatt;
    }
 
}
и

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class Pribor {
    
    String name;
    int watt;
    String locate;
    
    Pribor(String name, String locate, int watt){
        this.name = name;
        this.locate = locate;
        this.watt = watt;
    }
    
    public int on(){
        return watt;
        
    }
 
}
1
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
29.03.2016, 16:45
olexiy86, про ООП не слышали?
0
0 / 0 / 0
Регистрация: 21.03.2016
Сообщений: 13
31.03.2016, 03:48  [ТС]
1) Я создал массив приборов;
2) сортирову выполнил с помошью Arrays.sort.....
3)поиск сделал с помощью equals
................
if (poisk.equals(device[x].getName()))
.......
.....
0
 Аватар для olexiy86
32 / 30 / 11
Регистрация: 27.09.2014
Сообщений: 359
31.03.2016, 07:02
d200000 ну и хорошо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
31.03.2016, 07:02
Помогаю со студенческими работами здесь

Необходимо разобраться с задачей по интерфейсам
Добрый день! Есть у меня задача к выполнению по интерфейсам: (Добавить implements для FractionNumber и Fraction Number Operation...

Не могу разобраться с задачей
Дано целое число N и набор из N вещественных чисел. Вывести в том же порядке округленные значения всех чисел из данного набора (как целые...

не могу разобраться с задачей
нужно создать динамический двумерный массив ,заполнить случайными числами и добавить К строк в начало матрицы вот я создал матрицу,...

как разобраться с задачей
Кто знает и умеет напишите пожалуйста программный код задачи на языке С++. Дан массив 4х6! 6 студентов и 4 предмета! Определить...

Не могу разобраться с задачей
Вот задание: Отобразить графически пересечение поверхностей f1(x,y):=(x+y)^2/10 и f2(x,y):=5*Cos((x-y)/3) Матрицы для построения...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru