Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Написать меню позволяющее осуществить проверку всех методов класса / 19 сообщений из 19, страница 1 из 1
18.01.2013, 09:43:26
    #38114858
zyxell
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Написать меню позволяющее осуществить проверку всех методов класса
Добрый день! Прошу помочь новичку написать меню для программы:
Код: 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.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
import java.util.*;
 
interface Operation<T> {
    public T operate(T value);
}
 
interface Sortable {
    public void sort();
}
 
interface Container<T extends Comparable<T>> extends Sortable {
    public Collection<T> getItems();
    public void setItems(Collection<T> items);
    public void foreach();
}
 
abstract class AbstractContainer<T extends Comparable<T>> implements Container<T>, Iterable<T> {
    private Collection<T> items;
    private Operation<T> operation;
 
    public AbstractContainer(Collection<T> items, Operation<T> operation) {
        this.items = items;
        this.operation = operation;
    }
 
    @Override
    public void foreach() {
        if (operation == null) return;
        Collection<T> result = new ArrayList<T>(items.size());
        for (T item : getItems()) {
            result.add(operation.operate(item));
        }
        setItems(result);
    }
 
    @Override
    public void setItems(Collection<T> items) {
        this.items = items;
    }
 
    @Override
    public Collection<T> getItems() {
        return items;
    }
 
    @Override
    public Iterator<T> iterator() {
        return items.iterator();
    }
 
    @Override
    public String toString() {
        return this.getClass().getCanonicalName() + "{" +
                "items=" + items +
                '}';
    }
}
 
class BubbleSortContainer<T extends Comparable<T>> extends AbstractContainer<T> {
    public BubbleSortContainer(Collection<T> items, Operation<T> operation) {
        super(items, operation);
    }
 
    @Override
    public void sort() {
        List<T> items = new ArrayList<T>(getItems());
        for (int i = 0; i < items.size() - 1; ++i)
            for (int j = i + 1; j < items.size(); ++j)
                if (items.get(i).compareTo(items.get(j)) > 0) {
                    T temporaryVariable = items.get(i);
                    items.set(i, items.get(j));
                    items.set(j, temporaryVariable);
                }
        setItems(items);
    }
}
 
class SelectionSortContainer<T extends Comparable<T>> extends AbstractContainer<T> {
    public SelectionSortContainer(Collection<T> items, Operation<T> operation) {
        super(items, operation);
    }
 
    @Override
    public void sort() {
        List<T> items = new ArrayList<T>(getItems());
        for (int i = 0; i < items.size() - 1; ++i) {
            int min = i;
            for (int j = i + 1; j < items.size(); ++j)
                if (items.get(min).compareTo(items.get(j)) > 0)
                    min = j;
            if (min != i) {
                T temporaryVariable = items.get(i);
                items.set(i, items.get(min));
                items.set(min, temporaryVariable);
            }
        }
        setItems(items);
    }
}
 
class DefaultSortContainer<T extends Comparable<T>> extends AbstractContainer<T> {
    public DefaultSortContainer(Collection<T> items, Operation<T> operation) {
        super(items, operation);
    }
 
    @Override
    public void sort() {
        List<T> items = new ArrayList<T>(getItems());
        Collections.sort(items);
        setItems(items);
    }
}
 
class SquareRootOperation implements Operation<Double> {
    @Override
    public Double operate(Double value) {
        return Math.sqrt(value);
    }
}
 
class LogarithmOperation implements Operation<Double> {
    @Override
    public Double operate(Double value) {
        return Math.log(value);
    }
}
 
public class Tutorial0006 {
    private static Random random = new Random();
 
    private static Collection<Double> getRandomList() {
        final int numberOfItems = 5 + random.nextInt(4);
        Collection<Double> items = new ArrayList<Double>(numberOfItems);
        for (int i = 0; i < numberOfItems; ++i)
            items.add(random.nextInt(10000) / 100.);
        return items;
    }
 
    private static <T extends Comparable<T>> Container<T> getRandomContainerImplementation(Collection<T> items,
        Operation<T> ... operations) {
        switch (random.nextInt(3)) {
            case 0: return new BubbleSortContainer<T>(items, operations[0]);
            case 1: return new SelectionSortContainer<T>(items, operations[1]);
        }
        return new DefaultSortContainer<T>(items, null);
    }
 
    public static void main(String[] args) {
        SquareRootOperation squareRootOperation = new SquareRootOperation();
        LogarithmOperation logarithmOperation = new LogarithmOperation();
        for (int i = 0; i < 10; ++i) {
            Container<Double> container = getRandomContainerImplementation(getRandomList(), squareRootOperation, logarithmOperation);
            System.out.println("Source:    " + container);
            container.sort();
            System.out.println("Sorted:    " + container);
            container.foreach();
            System.out.println("Foreached: " + container);
        }
    }
}

условие самой задачи:Создать абстрактный базовый класс Container c виртуальными методами sort() и поэлементной обработки контейнер foreach(). Разработать производные класс Bubble (пузарек) и Choice (выбор). В первом классе сортировка реализуется методом пузырька, а поэлементная обработка состоит в извлечении квадратного корня. Во втором классе сортировка реализуется методом выбора, а поэлементная обработка – вычисление логарифма.Программа должна содержать меню, позволяющее осуществить проверку всех методов класса. Реализовать задание разделив каждый класс на интерфейс и реализацию.
...
Рейтинг: 0 / 0
18.01.2013, 11:41:28
    #38115030
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Написать меню позволяющее осуществить проверку всех методов класса
ОК. А вопрос в чем?
...
Рейтинг: 0 / 0
18.01.2013, 15:18:17
    #38115548
zyxell
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Написать меню позволяющее осуществить проверку всех методов класса
Blazkowicz,

Нужно меню которое бы реализовывало два метода, т.е. вычисляла логорифм а др извлекала кв. корень
...
Рейтинг: 0 / 0
18.01.2013, 15:36:38
    #38115583
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Написать меню позволяющее осуществить проверку всех методов класса
zyxellНужно меню которое бы реализовывало два метода, т.е. вычисляла логорифм а др извлекала кв. корень
Снова не вижу вопроса.
Такое меню?
http://docs.oracle.com/javase/tutorial/uiswing/components/menu.html
...
Рейтинг: 0 / 0
18.01.2013, 16:42:48
    #38115720
zyxell
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Написать меню позволяющее осуществить проверку всех методов класса
Blazkowicz,

Да, такое)
...
Рейтинг: 0 / 0
18.01.2013, 16:55:10
    #38115732
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Написать меню позволяющее осуществить проверку всех методов класса
zyxellBlazkowicz,

Да, такое)
Ну, вот там по ссылке есть примеры.
...
Рейтинг: 0 / 0
18.01.2013, 17:28:30
    #38115771
zyxell
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Написать меню позволяющее осуществить проверку всех методов класса
Blazkowicz,

Я в Java полный 0, может все таки поможешь?
...
Рейтинг: 0 / 0
18.01.2013, 17:32:45
    #38115780
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Написать меню позволяющее осуществить проверку всех методов класса
zyxellBlazkowicz,
Я в Java полный 0, может все таки поможешь?
Конечно. Я тут всем лабы делаю.
...
Рейтинг: 0 / 0
18.01.2013, 17:54:22
    #38115801
zyxell
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Написать меню позволяющее осуществить проверку всех методов класса
Blazkowicz,

Был бы очень признателен)
...
Рейтинг: 0 / 0
19.01.2013, 11:51:25
    #38116260
zyxell
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Написать меню позволяющее осуществить проверку всех методов класса
Blazkowicz,

А когда примерно сможешь сделать?
...
Рейтинг: 0 / 0
19.01.2013, 12:33:55
    #38116285
забыл ник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Написать меню позволяющее осуществить проверку всех методов класса
...
Рейтинг: 0 / 0
19.01.2013, 12:39:40
    #38116290
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Написать меню позволяющее осуществить проверку всех методов класса
zyxellА когда примерно сможешь сделать?
Это была ирония.
...
Рейтинг: 0 / 0
19.01.2013, 12:43:15
    #38116291
zyxell
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Написать меню позволяющее осуществить проверку всех методов класса
Blazkowicz,

А нафиг тогда было вообще отвечать?
...
Рейтинг: 0 / 0
19.01.2013, 12:45:05
    #38116293
Nixic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Написать меню позволяющее осуществить проверку всех методов класса
За 3 часа-то можно было по ссылочке и прочитать что-то, хотя бы поверхностно вникнуть :)
...
Рейтинг: 0 / 0
19.01.2013, 12:45:39
    #38116294
Nixic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Написать меню позволяющее осуществить проверку всех методов класса
ой млин, какие 3 часа за СУТКИ!
...
Рейтинг: 0 / 0
19.01.2013, 12:52:49
    #38116297
zyxell
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Написать меню позволяющее осуществить проверку всех методов класса
Nixic,

да я смотрю ты юморист, цель то и была попросить знающих людей помочь, если нечитал всю переписку повторюсь, в java полный 0, так что с программированием я неочень дружу, а вместо того чтобы ерничать лучшеб помог написать.
...
Рейтинг: 0 / 0
19.01.2013, 13:04:07
    #38116301
Nixic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Написать меню позволяющее осуществить проверку всех методов класса
zyxellNixic,
да я смотрю ты юморист, цель то и была попросить знающих людей помочь, если нечитал всю переписку повторюсь, в java полный 0, так что с программированием я неочень дружу, а вместо того чтобы ерничать лучшеб помог написать.
Я тоже не разбираюсь в java, я менеджер.
Вам мягко намекают, что никто за вас писать никакие меню не будет. Потому что лентяев и халявщиков не любят нигде.
Вот если бы вы выложили код и сказали, что вот здесь у вас что-то не получается или выдается какая-то ошибка, то другое дело, здесь всегда помогут.
Это как на автомобильном форуме писать, что-то типа "Я не могу поменять колесо, не мог бы кто ко мне приехать и поменять его?"
...
Рейтинг: 0 / 0
19.01.2013, 13:12:34
    #38116303
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Написать меню позволяющее осуществить проверку всех методов класса
zyxellА нафиг тогда было вообще отвечать?
Развлекаю себя как могу.
...
Рейтинг: 0 / 0
19.01.2013, 13:17:01
    #38116305
zyxell
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Написать меню позволяющее осуществить проверку всех методов класса
Nixic,

Сравнение твое про авто меня убило,шикарная аналогия) но про халявщиков все же я с тобой соглашусь, и все же менеджер мыслишь ты узковато, я никого здесь незаставляю и непринуждаю, если тут все такие мастера и им неохота тратить время на такие плевые задачки,ну и пусть, я жду студента какого нибудь кому будет интересна сама задача и чисто для практики готов написать код)
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Написать меню позволяющее осуществить проверку всех методов класса / 19 сообщений из 19, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]