0 / 0 / 1
Регистрация: 14.03.2014
Сообщений: 46

Описать и реализовать класс Стек, моделирующий массивом стек, для хранения любых объектов

16.03.2014, 14:36. Показов 4933. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
ПОЖАЛУЙСТА ПОМОГИТЕ РАЗОБРАТЬСЯ С ЗАДАЧЕЙ НА JAVA!!!
только начинаю изучать этот язык. буду очень признательна за пояснение каждой строчки кода!

Описать и реализовать класс Стек, моделирующий массивом стек, для хранения любых
объектов. Написать программу, которая будет хранить в стеке различные виды объектов:
строки, числа, игровые автоматы
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.03.2014, 14:36
Ответы с готовыми решениями:

Реализовать класс Стек, моделирующий работу со стеком (не учитывая переполнения и пустоту стека)
Методы мной уже описаны. Они очень простые и понятные. Но я не понимаю, как организовать работу программы? То есть мне не понятно, как...

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

Стек и очередь для хранения объектов типа Coord
Ниже представлен пример класса Coord. Напишите программу для хранения объектов типа Coord, используя последовательные контейнеры стека и...

3
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12840 / 7581 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
16.03.2014, 21:13
Лучший ответ Сообщение было отмечено lesya1 как решение

Решение

Дженерик стек не массивом
Stack.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
package easybudda.simplestack;
 
import java.util.Iterator;
 
public class Stack<T> implements Iterable<T> {
    private class Node {
        private T value;
        private Node next;
        
        public Node(T val, Node last) {
            value = val;
            next = last;
        }
        public T getValue() {
            return value;
        }
        public Node getNext() {
            return next;
        }
    }
    
    private Node top;
    
    private class StackIterator implements Iterator<T> {
 
        @Override
        public boolean hasNext() {
            return ( top != null ) ;
        }
 
        @Override
        public T next() {
            T ret = top.getValue();
            top = top.getNext();
            return ret;
        }
 
        @Override
        public void remove() {
            
        }
        
    }
 
    @Override
    public Iterator<T> iterator() {
        return new StackIterator();
    }
    
    void push(T value) {
        top = new Node(value, top);
    }
}
StackTester.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
package easybudda.simplestack;
 
import java.util.Iterator;
 
public class StackTester {
    public static void main(String[] args) {
        Stack<Integer> intStack = new Stack<Integer>();
        intStack.push(1);
        intStack.push(2);
        intStack.push(3);
        
        Iterator<Integer> intIterator = intStack.iterator();
        while ( intIterator.hasNext() )
            System.out.println(intIterator.next().toString());
        
        Stack<String> strStack = new Stack<String>();
        strStack.push("any");
        strStack.push("many");
        strStack.push("money");
        strStack.push("more");
        
        Iterator<String> strIterator = strStack.iterator();
        while ( strIterator.hasNext() )
            System.out.println(strIterator.next());
    }
}
1
0 / 0 / 1
Регистрация: 14.03.2014
Сообщений: 46
16.03.2014, 22:55  [ТС]
Спасибо, огромное, а как сделать так, что можно было хранить структуры?
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12840 / 7581 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
17.03.2014, 00:24
Лучший ответ Сообщение было отмечено lesya1 как решение

Решение

Цитата Сообщение от lesya1 Посмотреть сообщение
как сделать так, что можно было хранить структуры?
Что есть "структура" в языке java? Произвольный класс? Точно так же:
Person.java
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
package easybudda.simplestack;
 
public class Person {
    private String name;
    private int shoeSize;
    
    public Person(String n, int ss) {
        name = n;
        shoeSize = ss;
    }
    
    public String toString() {
        return name + ", " + shoeSize;
    }
}
StackTester.java
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package easybudda.simplestack;
 
import java.util.Iterator;
 
public class StackTester {
    public static void main(String[] args) {
        Stack<Person> persons = new Stack<Person>();
        persons.push(new Person("Сидоров", 43));
        persons.push(new Person("Петров", 45));
        persons.push(new Person("Иванов", 44));
        
        Iterator<Person> person = persons.iterator();
        while ( person.hasNext() )
            System.out.println(person.next());
    }
}
Класс Stack без изменений
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.03.2014, 00:24
Помогаю со студенческими работами здесь

Реализовать стек для хранения и операций с данными
Ребята, помогите, пожалуйста. Заранее огромное спасибо! Реализовать стек для хранения и операций с данными вида: Имя процедуры...

Реализовать стек для хранения и операций с данными вида
Реализовать стек для хранения и операций с данными вида: Имя процедуры / Количество параметров / Параметры (по 2 байта) Обеспечить...

На основе двух экземпляров объектов класса стек (Stack) реализовать класс очередь (Queue)
5. На основі двох екземплярів об’єктів класу стек (Stack) реалізувати клас черга (Queue). Подскажите как это сделать с использыванием...

Создайте класс Stack, реализующий стек для хранения символов
Создайте класс Stack, реализующий стек для хранения символов. Используйте методы push () и pop () для манипулирования ...

Используя стек, описать функцию проверяющую, является ли стек пустым
Используя стек, описать функцию проверяющую, является ли стек пустым


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

Новые блоги и статьи
Вопросы на собеседованиях по микросервисам
ArchitectMsa 27.03.2025
Работодатели ищут не просто разработчиков, знающих базовые концепции, а специалистов, разбирающихся в тонкостях масштабирования, отказоустойчивости и производительности. Сейчас на первый план выходят. . .
Взаимодействие Python с REST API
py-thonny 27.03.2025
REST API - это архитектурный стиль взаимодействия компонентов распределённого приложения в сети. Python располагает функциональным набором инструментов для работы с REST API и основная библиотека для. . .
sshd restrictions, ssh access limitations
jigi33 26.03.2025
sshd restrictions | ssh access limitations рестрикции доступа на сервер sshd статья: https:/ / www. golinuxcloud. com/ restrict-allow-ssh-certain-users-groups-rhel
Компиляция C++ с Clang API
NullReferenced 24.03.2025
Компиляторы обычно воспринимаются как черные ящики, которые превращают исходный код в исполняемые файлы. Мы запускаем компилятор командой в терминале, и вуаля — получаем бинарник. Но что если нужно. . .
Многопоточное программировани­е в C#: Класс Thread
UnmanagedCoder 24.03.2025
Когда запускается приложение на компьютере, операционная система создаёт для него процесс - виртуальное адресное пространство. В C# этот процесс изначально получает один поток выполнения — главный. . .
SwiftUI Data Flow: Передача данных между представлениями
mobDevWorks 23.03.2025
При первом знакомстве со SwiftUI кажется, что фреймворк предлагает избыточное количество механизмов для передачи данных: @State, @Binding, @StateObject, @ObservedObject, @EnvironmentObject и другие. . . .
Моки в Java: Сравниваем Mockito, EasyMock, JMockit
Javaican 23.03.2025
Как протестировать класс, который зависит от других сложных компонентов, таких как базы данных, веб-сервисы или другие классы, с которыми и так непросто работать в тестовом окружении? Для этого и. . .
Архитектурные паттерны микросервисов: ТОП-10 шаблонов
ArchitectMsa 22.03.2025
Популярность микросервисной архитектуры объясняется множеством важных преимуществ. К примеру, она позволяет командам разработчиков работать независимо друг от друга, используя различные технологии и. . .
Оптимизация рендеринга в Unity: Сортировка миллиона спрайтов
GameUnited 22.03.2025
Помните, когда наличие сотни спрайтов в игре приводило к существенному падению производительности? Время таких ограничений уходит в прошлое. Сегодня геймдев сталкивается с задачами совершенно иного. . .
Образование и практика
Igor3D 21.03.2025
Добрый день А вот каково качество/ эффективность ВУЗовского образования? Аналитическая геометрия изучается в первом семестре и считается довольно легким курсом, что вполне справедливо. Ну хорошо,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru