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

Структура: Вывести всех сотрудников в консоль, у которых длина фамилии совпадает с заданным числом

17.07.2013, 14:53. Показов 11442. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть компания и сотрудники. Сотрудник состоит из следующих полей - имя, фамилия, возраст, зп, пол. Компания состоит из следующих полей - список сотрудников(Организовать с помощью класса - ArrayList), название, адрес.

В методе мейн организовать следующий алгоритмы -
1. отсортировать женщин по возрасту, а мужчин по зп.
2. вывести всех сотрудников в консоль у которых имя начинается с заданного префикса
3. вывести всех сотрудников в консоль у которых длина фамилии совпадает с заданным числом
4. вывести в консоль отчет следующего содержания
имя0 - сколько раз повторяется
имя1 - сколько раз повторяется
...

5. Уволить из компании всех женщин, а мужчинам увеличить зп

Класс Company
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
import java.util.ArrayList;
 
public class Company {
public String name;
public String adress;
 
    public static void main(String[] args) {
        ArrayList<Workers> workers = new ArrayList<Workers>();
 
        Workers s0 = new Workers();
        s0.name = "Petr";
        s0.secondName = "Petrov";
        s0.age = 26;
        s0.salary = 2500;
        s0.gender = "male";
 
        Workers s1 = new Workers();
        s1.name = "Olga";
        s1.secondName = "Olgovna";
        s1.age = 27;
        s1.salary = 2600;
        s1.gender = "female";
 
        Workers s2 = new Workers();
        s2.name = "Oleg";
        s2.secondName = "Olegovich";
        s2.age = 29;
        s2.salary = 2700;
        s2.gender = "male";
 
        Workers s3 = new Workers();
        s3.name = "Katya";
        s3.secondName = "Katyovich";
        s3.age = 28;
        s3.salary = 2600;
        s3.gender = "female";
 
 
 
    }
    }
класс Workers
Java
1
2
3
4
5
6
7
public class Workers {
    public String name;
    public String secondName;
    public int age;
    public int salary;
    public String gender;
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.07.2013, 14:53
Ответы с готовыми решениями:

Вывести слова текста у которых длина четная и первая половина совпадает со второй
Дан текст, заканчивающийся точкой. вывести все слова из этого текста , у которых длина четная и первая половина совпадает со второй...

Вывести фамилии сотрудников, номера телефонов которых начинаются с цифр 361
Сведения состоят из фамилий сотрудников и их телефонов. Вывести фамилии сотрудников, номера телефонов которых начинаются с цифр 361, 362...

Вывести анкетные данные студентов у которых совпадает первая буква Фамилии имени и отчества.
Помогите решить задачу, очень надо: 1) Y=c+∑_(k=21)^1 Ak Bk , A=(a1,…,an) 2)Вывести анкетные данные студентов у которых совпадает...

11
38 / 38 / 11
Регистрация: 21.05.2013
Сообщений: 128
17.07.2013, 15:15
Цитата Сообщение от T!mmy Посмотреть сообщение
...
5. Уволить из компании всех женщин, а мужчинам увеличить зп
...
пхахаха
0
17.07.2013, 15:58

Не по теме:

Цитата Сообщение от T!mmy Посмотреть сообщение
public class Workers
Советую такие классы называть в ед. числе: записи типа
Цитата Сообщение от T!mmy Посмотреть сообщение
ArrayList<Workers> workers = new ArrayList<Workers>();
лично меня вводят в небольшой ступор.

0
77 / 33 / 9
Регистрация: 04.06.2013
Сообщений: 295
17.07.2013, 16:25
Тут подойдет паттерн "Шаблоный метод"! Сделайте Worker абстрактным и имплементируете (но не реализуете !) интеферс Comparable ! Затем Создаете два класса WomanWorker и ManWorker которые наследуються от Worker и естественно реализует метод compareTo (Каждый по свойму !) ... Затем реализуйте в Worker метод который будет выводить инфу о сотрудниках и используйте там шаблонный метод ...
0
ɐwʎ ɔ vǝmоɔ dиw ɐʚонɔ
 Аватар для tankomaz
443 / 442 / 100
Регистрация: 14.10.2012
Сообщений: 1,146
Записей в блоге: 9
17.07.2013, 21:35
1 что хотелось бы посоветовать - соблюдать инкапсуляцию, а то "не фонтан" вот так...
Java
1
2
3
4
5
        s0.name = "Petr";
        s0.secondName = "Petrov";
        s0.age = 26;
        s0.salary = 2500;
        s0.gender = "male";
2. для пола лучше использовать тип Enum (по мимо увеличения скорости в работе, исключите возможность ошибки в написании, так еще и смотрится лучше)

Добавлено через 3 часа 19 минут
вот аж руки чесались сделать пятый пункт
вот что получилось...
Company.java
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
package com.needhelp.company;
 
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
 
public class Company {
    private String name;
    private String adress;
    private List<Worker> workers;
 
    public Company(String sName, String sAdress, List<Worker> sWorkers) {
        name = sName;
        adress = sAdress;
        workers = sWorkers;
    }
 
    // #2
    public List<Worker> getListNamePrefix(String prefix) {
        List<Worker> tempList = new ArrayList<>();
        for (Worker w : workers) {
            if (w.getName().startsWith(prefix)) {
                tempList.add(w);
            }
        }
        return tempList;
    }
 
    // #3
    public List<Worker> getListSecondNameCount(int count) {
        List<Worker> tempList = new ArrayList<>();
        for (Worker w : workers) {
            if (w.getSecondName().length() == count) {
                tempList.add(w);
            }
        }
        return tempList;
    }
    
    // #4
    public Map<String, Integer> namesCount(){
        Map<String, Integer> tempListNamesCount = new TreeMap<String, Integer>();
        for (Worker w : workers) {
            String name = w.getName();
            if (tempListNamesCount.containsKey(name)) {
                tempListNamesCount.put(name, (tempListNamesCount.get(name) + 1));
            } else {
                tempListNamesCount.put(name, 0);
            }
        }
        return tempListNamesCount;
    }
 
    // #5
    public void maleRevolutionInCompany(int moneyCountBonus) {
        for (int i = 0; i < workers.size(); i++) {
            Enum tempGender = workers.get(i).getGender();
            if (tempGender == Gender.FEMALE) {
                workers.remove(i);
                i--;
            }
            if (tempGender == Gender.MALE) {
                workers.get(i).setSalary(workers.get(i).getSalary() + moneyCountBonus);
            }
        }
    }
 
    public List<Worker> getWorkers() {
        return workers;
    }
 
    public void setWorkers(List<Worker> workers) {
        this.workers = workers;
    }
 
}
Worker.java
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
package com.needhelp.company;
 
public class Worker {
    private String name;
    private String secondName;
    private int age;
    private int salary;
    private Enum gender;
    
    public Worker(String fullName, int sAge, int sSalary, Enum sGender) {
        String[] tempString = fullName.split(" ");
        name = tempString[0];
        secondName = tempString[1];
        age = sAge;
        salary = sSalary;
        gender = sGender;
    }
 
    public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
 
    public String getSecondName() {
        return secondName;
    }
 
    public int getAge() {
        return age;
    }
 
    public int getSalary() {
        return salary;
    }
    
    public void setSalary(int sSalary) {
        salary = sSalary;
    }
 
    public Enum getGender() {
        return gender;
    }
    
    public String toString() {
        return name + " " + secondName + " " + age + " " + salary + " " + gender;
        
    }
 
}
MainBoss.java
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
package com.needhelp.company;
 
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;
 
public class MainBoss {
    public static void main(String[] args) {
        // заводим журнал сотрудников, нанимаем персонал
        List<Worker> workers = new ArrayList<Worker>();
        Worker s0 = new Worker("Petr Petrov", 26, 2500, Gender.MALE);
        Worker s1 = new Worker("Olga Olgovna", 27, 2600, Gender.FEMALE);
        Worker s2 = new Worker("Pleg Olegovich", 29, 2700, Gender.MALE);
        Worker s3 = new Worker("Katya Katyovich", 28, 2600, Gender.FEMALE);
        Worker s4 = new Worker("Katya Katyuha", 24, 2200, Gender.FEMALE);
        // записываем им должностя в трудовые книжки :)
        workers.add(s0);
        workers.add(s1);
        workers.add(s2);
        workers.add(s3);
        workers.add(s4);
 
        // идем к регистратору подавать документы на открытие канторы
        // "Рога и Копыта"
        Company myTheBestCompany = new Company("Roga i Koputa", "gde-to na planete Zemlya", workers);
        // task #2
         System.out.println(" --- task 2 (prefix) --- ");
         print(myTheBestCompany.getListNamePrefix("Ple"));
         
        // task #3
         System.out.println(" --- task 3--- ");
         print(myTheBestCompany.getListSecondNameCount(9));
         
        // task #4
         System.out.println(" --- task 4 (countNames)--- ");
         print(myTheBestCompany.namesCount());
         
        // taks #5
         System.out.println(" --- task 5 (revolution power!)--- ");
         print(myTheBestCompany.getWorkers());
         myTheBestCompany.maleRevolutionInCompany(300);
         System.out.println(" ---> new version workers ");
         print(myTheBestCompany.getWorkers());      
 
    }
 
    public static void print(List<Worker> inputWorker) {
        for (Worker w : inputWorker) {
            System.out.println(w);
        }
        System.out.println();
    }
 
    public static void print(Map<String, Integer> inputData) {
        Set<String> keys = inputData.keySet();
        for (String s : keys) {
            System.out.println(s + " - " + inputData.get(s));
        }
        System.out.println();
    }
 
}
Gender.java
Java
1
2
3
4
5
package com.needhelp.company;
 
public enum Gender {
    MALE, FEMALE
}
не сделал первое задание по причине есть вопрос - "1. отсортировать женщин по возрасту, а мужчин по зп."
тойсь сначала в списке идут отсортированные женщины потом следом мужчины? либо могут чередоваться, но главное чтобы выполняли эти правила? или вовсе два отдельных вывода чтобы можно было "в дальнейшем" использовать разные списки?
0
любитель покушать
 Аватар для Севак
687 / 641 / 248
Регистрация: 25.09.2011
Сообщений: 1,313
17.07.2013, 22:40
tankomaz,

Не по теме:

вангую, что нужно отделить баб от мужиков и отсортировать поотдельности

0
ɐwʎ ɔ vǝmоɔ dиw ɐʚонɔ
 Аватар для tankomaz
443 / 442 / 100
Регистрация: 14.10.2012
Сообщений: 1,146
Записей в блоге: 9
17.07.2013, 23:26
чтобы не создавать кашу еще раз выложу код лучше

Company.java
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
package com.needhelp.company;
 
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
 
public class Company {
    private String name;
    private String adress;
    private List<Worker> workers;
 
    public Company(String sName, String sAdress, List<Worker> sWorkers) {
        name = sName;
        adress = sAdress;
        workers = sWorkers;
    }
 
    // #2
    public List<Worker> getListNamePrefix(String prefix) {
        List<Worker> tempList = new ArrayList<>();
        for (Worker w : workers) {
            if (w.getName().startsWith(prefix)) {
                tempList.add(w);
            }
        }
        return tempList;
    }
 
    // #3
    public List<Worker> getListSecondNameCount(int count) {
        List<Worker> tempList = new ArrayList<>();
        for (Worker w : workers) {
            if (w.getSecondName().length() == count) {
                tempList.add(w);
            }
        }
        return tempList;
    }
    
    // #4
    public Map<String, Integer> namesCount(){
        Map<String, Integer> tempListNamesCount = new TreeMap<String, Integer>();
        for (Worker w : workers) {
            String name = w.getName();
            if (tempListNamesCount.containsKey(name)) {
                tempListNamesCount.put(name, (tempListNamesCount.get(name) + 1));
            } else {
                tempListNamesCount.put(name, 0);
            }
        }
        return tempListNamesCount;
    }
 
    // #5
    public void maleRevolutionInCompany(int moneyCountBonus) {
        for (int i = 0; i < workers.size(); i++) {
            Enum tempGender = workers.get(i).getGender();
            if (tempGender == Gender.FEMALE) {
                workers.remove(i);
                i--;
            }
            if (tempGender == Gender.MALE) {
                workers.get(i).setSalary(workers.get(i).getSalary() + moneyCountBonus);
            }
        }
    }
    //#1
    public List<Worker> getSortMale() {
        List<Worker> tempList = new ArrayList<>();
        for (Worker w : workers) {
            if (w.getGender() == Gender.MALE) {
                tempList.add(w);
            }
        }
        Collections.sort(tempList, new SortComparaSalary());
        return tempList;
    }
    
    public List<Worker> getSortFemale() {
        List<Worker> tempList = new ArrayList<>();
        for (Worker w : workers) {
            if (w.getGender() == Gender.FEMALE) {
                tempList.add(w);
            }
        }
        Collections.sort(tempList, new SortComparaAges());
        return tempList;
    }
 
    public List<Worker> getWorkers() {
        return workers;
    }
 
    public void setWorkers(List<Worker> workers) {
        this.workers = workers;
    }
 
}
Worker.java
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
package com.needhelp.company;
 
public class Worker {
    private String name;
    private String secondName;
    private int age;
    private int salary;
    private Enum gender;
    
    public Worker(String fullName, int sAge, int sSalary, Enum sGender) {
        String[] tempString = fullName.split(" ");
        name = tempString[0];
        secondName = tempString[1];
        age = sAge;
        salary = sSalary;
        gender = sGender;
    }
 
    public String getName() {
        return name;
    }
 
    public String getSecondName() {
        return secondName;
    }
 
    public int getAge() {
        return age;
    }
 
    public int getSalary() {
        return salary;
    }
    
    public void setSalary(int sSalary) {
        salary = sSalary;
    }
 
    public Enum getGender() {
        return gender;
    }
    
    public String toString() {
        return name + " " + secondName + " " + age + " " + salary + " " + gender;
        
    }
 
}
MainBoss.java
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
package com.needhelp.company;
 
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;
 
public class MainBoss {
    public static void main(String[] args) {
        // заводим журнал сотрудников, нанимаем персонал
        List<Worker> workers = new ArrayList<Worker>();
        
        // записываем им должностя в трудовые книжки :)
        workers.add(new Worker("Petr Petrov", 26, 2500, Gender.MALE));
        workers.add(new Worker("Olga Olgovna", 27, 2600, Gender.FEMALE));
        workers.add(new Worker("Pleg Olegovich", 29, 2700, Gender.MALE));
        workers.add(new Worker("Katya Katyovich", 28, 2600, Gender.FEMALE));
        workers.add(new Worker("Katya Katyuha", 24, 2200, Gender.FEMALE));
        workers.add(new Worker("Oleg Ivanovich", 29, 2100, Gender.MALE));
 
        // идем к регистратору подавать документы на открытие канторы
        // "Рога и Копыта"
        Company myTheBestCompany = new Company("Roga i Koputa", "gde-to na planete Zemlya", workers);
        
         // task #1
         System.out.println(" --- task 1 (sort-male) ---");
         print(myTheBestCompany.getSortMale());
         System.out.println(" --- task 1 (sort-female) ---");
         print(myTheBestCompany.getSortFemale());
        
        // task #2
         System.out.println(" --- task 2 (prefix) --- ");
         print(myTheBestCompany.getListNamePrefix("Ple"));
         
        // task #3
         System.out.println(" --- task 3--- ");
         print(myTheBestCompany.getListSecondNameCount(9));
         
        // task #4
         System.out.println(" --- task 4 (countNames)--- ");
         print(myTheBestCompany.namesCount());
         
        // taks #5
         System.out.println(" --- task 5 (revolution power!)--- ");
         print(myTheBestCompany.getWorkers());
         myTheBestCompany.maleRevolutionInCompany(300);
         System.out.println(" ---> new version workers ");
         print(myTheBestCompany.getWorkers());      
         
 
    }
 
    public static void print(List<Worker> inputWorker) {
        for (Worker w : inputWorker) {
            System.out.println(w);
        }
        System.out.println();
    }
 
    public static void print(Map<String, Integer> inputData) {
        Set<String> keys = inputData.keySet();
        for (String s : keys) {
            System.out.println(s + " - " + inputData.get(s));
        }
        System.out.println();
    }
 
}
Gender.java
Java
1
2
3
4
5
package com.needhelp.company;
 
public enum Gender {
    MALE, FEMALE
}
SortComparaSalary.java
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package com.needhelp.company;
 
import java.util.Comparator;
 
public class SortComparaSalary implements Comparator<Worker> {
 
    @Override
    public int compare(Worker w1, Worker w2) {
        if (w1.getSalary() > w2.getSalary()) {
            return 1;
        } 
        if (w1.getSalary() < w2.getSalary()) {
            return -1;
        }
        return 0;
    }
 
}
SortComparaAges.java
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package com.needhelp.company;
 
import java.util.Comparator;
 
public class SortComparaAges implements Comparator<Worker> {
 
    @Override
    public int compare(Worker w1, Worker w2) {
        if (w1.getAge() > w2.getAge()) {
            return 1;
        }
        if (w1.getAge() < w2.getAge()) {
            return -1;
        } 
        
        return 0;
        }
    
}
Вывод:
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
 --- task 1 (sort-male) ---
Oleg Ivanovich 29 2100 MALE
Petr Petrov 26 2500 MALE
Pleg Olegovich 29 2700 MALE
 
 --- task 1 (sort-female) ---
Katya Katyuha 24 2200 FEMALE
Olga Olgovna 27 2600 FEMALE
Katya Katyovich 28 2600 FEMALE
 
 --- task 2 (prefix) --- 
Pleg Olegovich 29 2700 MALE
 
 --- task 3--- 
Pleg Olegovich 29 2700 MALE
Katya Katyovich 28 2600 FEMALE
Oleg Ivanovich 29 2100 MALE
 
 --- task 4 (countNames)--- 
Katya - 1
Oleg - 0
Olga - 0
Petr - 0
Pleg - 0
 
 --- task 5 (revolution power!)--- 
Petr Petrov 26 2500 MALE
Olga Olgovna 27 2600 FEMALE
Pleg Olegovich 29 2700 MALE
Katya Katyovich 28 2600 FEMALE
Katya Katyuha 24 2200 FEMALE
Oleg Ivanovich 29 2100 MALE
 
 ---> new version workers 
Petr Petrov 26 2800 MALE
Pleg Olegovich 29 3000 MALE
Oleg Ivanovich 29 2400 MALE
кстати, буду рад критике
0
38 / 38 / 11
Регистрация: 21.05.2013
Сообщений: 128
18.07.2013, 09:59
tankomaz,
Note that Iterator.remove is the only safe way to modify a collection during iteration; the behavior is unspecified if the underlying collection is modified in any other way while the iteration is in progress.
http://docs.oracle.com/javase/... ction.html
1
0 / 0 / 0
Регистрация: 17.07.2013
Сообщений: 22
18.07.2013, 14:01  [ТС]
Офигеть, огромное спасибо)
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
18.07.2013, 18:44
Цитата Сообщение от T!mmy Посмотреть сообщение
отсортировать женщин по возрасту, а мужчин по зп.
А мне вот этот пункт понравился
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
package easybudda.examples.workers;
 
import java.util.*;
 
class Worker {
    static final int FEMALE = 0;
    static final int MALE = 1;
    
    String firstName;
    String lastName;
    int gender;
    int age;
    int salary;
    
    Worker(String fn, String ln, int g, int a, int s) {
        this.firstName = fn;
        this.lastName = ln;
        this.gender = g;
        this.age = a;
        this.salary = s;
    }
    
    public String toString() {
        return firstName + " " + lastName + ", " + ( gender == Worker.MALE ? "M" : "F") + ", " + age + " years, $" + salary;
    }
    
    public static void main(String [] args) {
        Worker [] workers = { new Worker("Вася", "Пружинкин", Worker.MALE, 30, 1000),
                new Worker("Зина", "Булавкина", Worker.FEMALE, 25, 600),
                new Worker("Петя", "Баранкин", Worker.MALE, 31, 900),
                new Worker("Клава", "Бутылкина", Worker.FEMALE, 29, 800),
                new Worker("Стёпа", "Канавкин", Worker.MALE, 28, 1200),
                new Worker("Фёкла", "Решёткина", Worker.FEMALE, 27, 1000)
        };
        
        System.out.println("Unsorted:");
        for ( Worker w : workers )
            System.out.println(w.toString());
        
        Arrays.sort(workers, new Comparator<Worker>() {
            public int compare(Worker a, Worker b) {
                return ( a.gender == Worker.FEMALE ) ? ( b.gender == Worker.FEMALE ) ? a.age - b.age : -1 : ( b.gender == Worker.MALE ) ? a.salary - b.salary : 1;
            }
        });
        
        System.out.println("Sorted:");
        for ( Worker w : workers )
            System.out.println(w.toString());
    }
}
0
38 / 38 / 11
Регистрация: 21.05.2013
Сообщений: 128
19.07.2013, 10:31
easybudda,
Java
1
2
3
4
5
Arrays.sort(workers, new Comparator<Worker>() {
            public int compare(Worker a, Worker b) {
                return ( a.gender == Worker.FEMALE ) ? ( b.gender == Worker.FEMALE ) ? a.age - b.age : -1 : ( b.gender == Worker.MALE ) ? a.salary - b.salary : 1;
            }
        });
Почему-то не встречал подобные конструкции в литературе, я про new Comparator..., это создание анонимного типа или что это?
0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
19.07.2013, 10:41
Цитата Сообщение от MaxNevermind Посмотреть сообщение
это создание анонимного типа или что это?
Анонимный класс
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.07.2013, 10:41
Помогаю со студенческими работами здесь

Вывести на экран фамилии сотрудников фирмы, премия которых более 1000 рублей
вывести на экран фамилии сотрудников фирмы, премия которых более 1000 рублей.

Вывести на экран данные фамилии и имена всех людей, у которых фамилии начинаются с 2 буквы, как и ваша фамилия
Необходимо ввести в файл фамилии, имени 6 человек. Вывести на экран данные фамилии и имена всех людей, у которых фамилии начинаются с 2...

Вывести на экран фамилии тех сотрудников, у которых выслуга лет меньше вводимого с клавиатуры
Информация о работниках фирмы хранится в следующем порядке: фамилия, имя (и отчество), пол, должность, оклад, образование, выслуга в...

Вывести на консоль имена сотрудников, возраст которых превышает заданный (поиск в массиве структур)
Ввести в компьютер информацию о сотрудниках отдела: фамилия, имя, возраст. Напечатать имена сотрудников, возраст которых превышает 28...

Вывести на консоль те строки, длина которых меньше (больше) средней, а также длину.
Собственно вот проблема..Мне помогали писать данную программу но она что-то все равно не работает. Она просто тупо зависает. Может кто...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
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