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

Создание собственного класса

30.01.2013, 20:04. Показов 2007. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Начал учить яву и в книге вот такой пример создания собственных классов,но эклипс пишет ошибку в строке 19 20 и 21. может кто нить подскажет в чем проблема????
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
import java.util.*;
public class EmployeeTest
{
    public static void main(String[] args)
    {
        //Заполнение массива staff
        Employee [] staff=new Employee[3];
        staff[0]=new Employee("Carl Cracker",75000,1987,12,15);
        staff[1]=new Employee("Hary Hacker",50000,1989,10,1);
        staff[2]=new Employee("Tony Tester",40000,1990,3,15);
        
        //увелич зарплаты на 5 процентов
        for(Employee e:staff)
            e.raiseSalary(5);
                
        //вывод инфы
        for(Employee e:staff);
                
                System.out.println("name="+e.getName()
                                    +",salry="+e.getSalary()
                                    +",hireDay="+e.getHireDay());
    }
}
class Employee
{
    public Employee(String n,double s,int year,int month,int day)
    {
       name=n;
       salary=s;
       GregorianCalendar calendar=new GregorianCalendar(year,month-1,day);
       hireDay=calendar.getTime();
    }
    public String getName()
    {
        return name;
    }
    public double getSalary()
    {
        return salary;
    }
    public Date getHireDay()
    {
        return hireDay;
    }
    public void raiseSalary(double byPrecent)
    {
        double raise=salary*byPrecent/100;
        salary+=raise;
    }
    private String name;
    private double salary;
    private Date hireDay;
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.01.2013, 20:04
Ответы с готовыми решениями:

Мультипоточность. Создание собственного потока
class Dcoder{ public static void main(String... args){ new Subthread(); } } class Subthread extends Thread{ ...

Переопределение метода equals (принадлежащего Object) у собственного класса Triangle
Есть класс MyTriangle, нужно переопределить equals. public class Triangle { @Override public boolean equals(Triangle...

Создание собственного класса
подскажите где и как нужно описывать что б создался собственный клас. и для чиво и как он работает))) #include <vcl.h> #pragma...

9
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
30.01.2013, 20:41
из 17 строки уберите
Java
1
;
1
2 / 2 / 0
Регистрация: 14.07.2012
Сообщений: 28
30.01.2013, 20:44  [ТС]
вот блин))))спасибо))
0
3 / 3 / 1
Регистрация: 29.05.2012
Сообщений: 20
30.03.2013, 11:43
Доброго времени суток!
Вопрос простой, но я никак не соображу как его решить.
Надо создать класс Этаж, основанный на массиве Квартир (Квартира - тоже класс, но описанный ранее).
Правильно ли я понимаю, что условно это должно выглядеть так:
Этаж мойЭтаж = new Квартира[];?
Если да, то как это сделать правильно, если нет, то как решить эту задачу?
0
 Аватар для exiqa
487 / 333 / 71
Регистрация: 24.12.2011
Сообщений: 591
30.03.2013, 14:01
Java
1
2
3
4
5
class Квартира {}
 
class Этаж {
     Квартира[] квартирыЭтогоЭтажа;
}
0
3 / 3 / 1
Регистрация: 29.05.2012
Сообщений: 20
30.03.2013, 14:05
По сути да, но меня интересует немножко другое.
Предположим, есть Пакет с Продуктами (пакет - объект, продукты - массив). Должна быть возможность обратиться и к Пакету (не заглядывая в его содержимое), и к Продуктам.
В случае простого создания массива КвартирЭтогоЭтажа понятие этаж отсутствует. Мы не смоем обратиться к Этажу напрямую, не задавая в методах массив квартир.
Например:
метод ПокажиЭтаж(этаж) должен вывести список квартир этого этажа
0
 Аватар для exiqa
487 / 333 / 71
Регистрация: 24.12.2011
Сообщений: 591
30.03.2013, 14:31
я что то Вас не очень понимаю. Класс Этаж содержит в себе (или состоит из) массив Квартир. Это называется агрегация.

метод покажиЭтаж может выглядеть так
Java
1
2
3
4
5
public void покажиЭтаж(Этаж э) {
     for (Квартира к : э.получитьСписокКвартир()) {
          System.out.println(к);
     }
}
1
3 / 3 / 1
Регистрация: 29.05.2012
Сообщений: 20
30.03.2013, 14:34
Да, да. Этаж основан на массиве квартир.
Можете пояснить, что значит (Квартира к : э.получитьСписокКвартир())?
0
 Аватар для exiqa
487 / 333 / 71
Регистрация: 24.12.2011
Сообщений: 591
30.03.2013, 14:52
цикл в стиле for-each

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
class Квартира {
    private int номерКвартиры;
 
    public Квартира(int номерКвартиры) {
        this.номерКвартиры = номерКвартиры;
    }
 
    public int getНомерКвартиры() {
        return номерКвартиры;
    }
    
}
 
class Этаж {
    private Квартира[] квартирыЭтогоЭтажа;
    private int номерЭтажа;
 
    public Этаж(Квартира[] квартирыЭтогоЭтажа, int номерЭтажа) {
        this.квартирыЭтогоЭтажа = квартирыЭтогоЭтажа;
        this.номерЭтажа = номерЭтажа;
    }
 
    public Квартира[] getКвартирыЭтогоЭтажа() {
        return квартирыЭтогоЭтажа;
    }
 
    public int getНомерЭтажа() {
        return номерЭтажа;
    }
 
}
 
public class Прораб {
    
    public static void покажиЭтаж(Этаж э) {
        for (Квартира к : э.getКвартирыЭтогоЭтажа()) {
            System.out.println(к.getНомерКвартиры());
        }
    }
    
    public static void main(String[] args) {
        
        Квартира[] новыеКвартиры = new Квартира[4];
        for (int i = 0; i < новыеКвартиры.length; i++) {
            новыеКвартиры[i] = new Квартира(i+1);
        }
        
        Этаж первыйЭтаж = new Этаж(новыеКвартиры, 1);
        
        покажиЭтаж(первыйЭтаж);
                
        
    }
}
1
3 / 3 / 1
Регистрация: 29.05.2012
Сообщений: 20
30.03.2013, 14:53
Большое спасибо! Очень помогли))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.03.2013, 14:53
Помогаю со студенческими работами здесь

Создание собственного класса
Создать класс для работы со стеком, организованным как связный однонаправленный список. В классе описать методы добавления элемента в стек...

Создание списка объектов собственного класса (SQL)
очень нужно! объясните, пожалуйста, доходчиво, а лучше с примером, как создать список из объектов класса, к примеру, &quot;human&quot;,...

Создание собственного класса и метода для вычисления выражения
Добрый вечер. Есть программа, её нужно реализовать через метод и собственный класс. Помогите пожалуйста. Вот задание using System; ...

Создание собственного класса var для учебы, аналог auto
Выкладываю для юных падаванов, коим и сам являюсь :) #include &lt;iostream&gt; #include &lt;ctime&gt; //#include &quot;var.h&quot; using...

Запись в собственного класса бинарный файл собственного
есть Свой тип данных дробь. Надо реализовать запись и загрузку в\из бинарного файла. #ifndef RATION_H #define RATION_H #include...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru