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

Помощь в составлении программы

22.11.2014, 14:35. Показов 1437. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Создать абстрактный класс «периферийное устройство» (наименование, тип интерфейса). На его основе создать класс «принтер» (тип, количество цветов, разрешение, количество чернил). Написать методы для «отправки на печать» документа, просмотра названия документа, отправленного на печать, вывода состояния принтера (занят/свободен). Написать метод, определяющий количество документов в очереди на печать. Документ – структура: название, количество чернил, необходимое для его печати.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.11.2014, 14:35
Ответы с готовыми решениями:

Помощь в составлении регулярного выражения
совсем не дружу с этим делом. Итак, дано: html-страничка, на которой присутствуют ссылки вида <a...

нужна помощь в составлении программы(матрицы)
Даны матрицы: A(N,K), B(K,N). для каждой матрицы найти сумму положительных и сумму отрицательных элементов и все положительные элименты...

Требуется помощь в составлении блок-схемы для программы
Всем привет,имеется код программы,необходима помощь в составлении блок-схем. #include <iostream.h> #include <math.h> ...

10
21 / 9 / 7
Регистрация: 22.10.2012
Сообщений: 86
24.11.2014, 21:17
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
public class Main {
 
    public static void main(String[] args) throws IOException
    {
    // write your code here
      class Periferal
     {
         private String name = null;
         private String type_of_int = null;
         private int color;
         private double chernil;
       //  public void print()
       //  {
       //      String s = "123";// Предположем, что это наш документ
       //      s.print();
       //  }
         public String getName()
         {
           return name;
         }
 
         public void Sost_of_periferal(double chernil)
         {
             if (chernil == 0)
                 System.out.println("Чернил нет");
             else
                 System.out.println("Чернила есть. Продолжение печати!");
         }
 
         public Periferal (String name, String type_of_int, int color, double chernil)
         {
             this.name = name;
             this.type_of_int = type_of_int;
             this.color = color;
             this.chernil = chernil;
         }
     }
        Periferal printer = new Periferal("Canon_123", "output", 4, 0.05);
       System.out.println( printer.getName());
        printer.Sost_of_periferal(printer.chernil);
    }
}
что касается вывода на печать, то в этом вопросе не совсем корректна(
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
24.11.2014, 22:37
ads_911, не смотрите на код отErato. Он ужасен и не правильный. Никогда так не пишите
0
21 / 9 / 7
Регистрация: 22.10.2012
Сообщений: 86
25.11.2014, 17:26
Тогда покажи как необходимо, тактичный товарищ
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
25.11.2014, 17:53
Erato, извиняюсь за резкость, но если вы не уверенны в своем коде, лучше не советовать его другим.
Сам пока сижу с телефона поэтому код написать немогу.
0
0 / 0 / 0
Регистрация: 22.05.2014
Сообщений: 8
26.11.2014, 12:43  [ТС]
не работает
0
21 / 9 / 7
Регистрация: 22.10.2012
Сообщений: 86
26.11.2014, 15:57
у меня то работает, но как сказали выше - неправильно. Могу скинуть скрин(но что-то не нахожу нужной кнопочки, чтоб залить( )
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
26.11.2014, 20:31
Лучший ответ Сообщение было отмечено reisal78 как решение

Решение

Некоторые формулировки задания недостаточно точны. Например что подразумевается под очередью на печать. Должен ли принтер бежать в отдельном потоке и печатать документы из очереди пока его не выключат? Это должно быть описанно более подробно.

Код:

Application

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class Application {
 
    public static void main(String[] args) {
 
        Printer printer = new Printer("HP LaserJet M1005", ConnectionType.USB,"2400x2400dpi", 64000l, 500l);
        Document document = new Document("My Java CV", 500l);
        Document document2 = new Document("Another document", 150l);
        System.out.println("Printer info: " + printer);
        
        try {
            printer.sendToPrint(document);
            printer.sendToPrint(document2);
        } catch (PrinterException e) {
            System.out.println("Cannot print document. " + e.getMessage());
        }
 
    }
}

Device

Java
1
2
3
4
public interface Device {
    String getName();
    ConnectionType getType();
}
Printer

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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
public class Printer implements Device {
    
    private String name;
    private ConnectionType connectionType;
    private String resolution;
    private Long colorAmount;
    private Long inkAmount;
    private PrinterState state = PrinterState.FREE;
    
    
    public Printer(String name, ConnectionType connectionType, String resolution, Long colorAmount, Long inkAmount) {
        this.name = name;
        this.connectionType = connectionType;
        this.resolution = resolution;
        this.colorAmount = colorAmount;
        this.inkAmount = inkAmount;
    }
 
 
 
    public String getName() {
        return name;
    }
 
    public ConnectionType getType() {
        return connectionType;
    }
    
    public synchronized void sendToPrint(Document document) throws PrinterException {
        state = PrinterState.BUSY;
        checkInkAmount();
        System.out.println("Printing document: " + document.getName());
        inkAmount -= document.getInkAmountNeeded();
        sleep(1000);
        state = PrinterState.FREE;
    }
 
 
 
    private void checkInkAmount() throws PrinterException {
        if(inkAmount <= 0) {
            throw new PrinterException("Printer is out of ink");
        }
    }
 
    private void sleep(int i) {
        try {
            Thread.sleep(1000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
    
 
    public ConnectionType getConnectionType() {
        return connectionType;
    }
 
 
 
    public void setConnectionType(ConnectionType connectionType) {
        this.connectionType = connectionType;
    }
 
 
 
    public String getResolution() {
        return resolution;
    }
 
 
 
    public void setResolution(String resolution) {
        this.resolution = resolution;
    }
 
 
 
    public Long getColorAmount() {
        return colorAmount;
    }
 
 
 
    public void setColorAmount(Long colorAmount) {
        this.colorAmount = colorAmount;
    }
 
 
 
    public Long getInkAmount() {
        return inkAmount;
    }
 
 
 
    public void setInkAmount(Long inkAmount) {
        this.inkAmount = inkAmount;
    }
 
 
 
    public PrinterState getState() {
        return state;
    }
 
 
 
    public void setState(PrinterState state) {
        this.state = state;
    }
 
 
 
    public void setName(String name) {
        this.name = name;
    }
 
 
 
    @Override
    public String toString() {
        StringBuilder builder = new StringBuilder();
        builder.append("Printer [name=").append(name)
                .append(", connectionType=").append(connectionType)
                .append(", resolution=").append(resolution)
                .append(", colorAmount=").append(colorAmount)
                .append(", inkAmount=").append(inkAmount).append(", state=")
                .append(state).append("]");
        return builder.toString();
    }
 
 
}
Document

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
public class Document {
    
    private String name;
    private Long inkAmountNeeded;
    
    public Document(String name, Long inkAmountNeeded) {
        super();
        this.name = name;
        this.setInkAmountNeeded(inkAmountNeeded);
    }
    
    public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
 
    public Long getInkAmountNeeded() {
        return inkAmountNeeded;
    }
 
    public void setInkAmountNeeded(Long inkAmountNeeded) {
        this.inkAmountNeeded = inkAmountNeeded;
    }
 
}
PrinterException

Java
1
2
3
4
5
6
7
8
public class PrinterException extends Exception {
    
    private static final long serialVersionUID = -2779404737671039535L;
 
    public PrinterException(String message) {
        super(message);
    }
}
PrinterState {
BUSY,


Java
1
2
3
4
public enum PrinterState {
    BUSY,
    FREE
}
ConnectionType

Java
1
2
3
4
5
6
public enum ConnectionType {
    
    USB,
    PARALLEL,
    SERIAL
}
Добавлено через 5 минут
Немного более подробно о том что не так в коде Erato

1. Писать класс, внутри него статик мейн а внутри него ещё один класс это неверно и нечитаемо
2. По заданию (и по смыслу) надо определить интерфейс перефирия, а не класс
3. метод Sost_of_periferal недолжен принимать аргументов. Он должен говорить о внутреннем состоянии объекта.
4. Документ по заданию должен быть оформлен в одтельный класс.
5. Метод печати, тот который закомментирован конечно же не работает и работать неможет.

Вобщем тут нет ниодной нормально написанной строчки кода.
0
21 / 9 / 7
Регистрация: 22.10.2012
Сообщений: 86
26.11.2014, 21:43
С этого и следовало начинать. А то вдохновили меня своими комментариями, что и данный язык расхотелось учить и руки опустились и ощущение того, что днище полное преследовало целый день.
0
26.11.2014, 23:14

Не по теме:

Erato, начинать с этого не мог т.к переезжал и в новом доме небыло интернета. Сидел с телефона на 3G

0
21 / 9 / 7
Регистрация: 22.10.2012
Сообщений: 86
26.11.2014, 23:32
поздравляю с переездом и все понимаю, все мы люди, я написала, что в данных вопросах не особо корректна, но говорить прям так прямо не есть хорошо, пока ехала на пары несколько раз перечитывала и думала, что я .... здесь нельзя такие слова писать, в общем, самооценка ниже плинтуса.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.11.2014, 23:32
Помогаю со студенческими работами здесь

Помощь в составлении програм
Можно ли из предоставленных отрезков а, в, с построить треугольник. Если можно, то указать какой - равносторонний, ривнобедрений,...

Помощь в составлении запроса
Мне нужна помощь в составлении запроса,вот мой запрос: $result = mysql_query (&quot;SELECT `idn`, `ping` WHERE idn='$ss' FROM `test` ORDER BY...

Помощь в составлении формулы
Всем доброго времени..Появился такой вопрос . Имеется: дата,время,значение 1,значение 2,дельта (значение1-значение 2). Необходимо...

Помощь в составлении запроса
Тема больница! вот таблицы: CREATE TABLE doctor ( id int(5) NOT NULL AUTO_INCREMENT, PRIMARY KEY id_pacienta int(5) NOT...

Требуется помощь в составлении изомеров
Задали составить 9 изомеров из формулы {C}_{7}{H}_{16}. Я уже составил 6 из 9 существующих и больше не могу придумать. Вот выкладываю фото...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru