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

Альтернатива LinkedList

14.10.2014, 15:19. Показов 2340. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите как переделать код java se в j2me
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
import java.util.LinkedList;
public class Calc {
    static boolean isDelim(char c) {
        return c == ' ';
    }
    static boolean isOperator(char c) {
        return c == '+' || c == '-' || c == '*' || c == '/' || c == '%';
    }
    static int priority(char op) {
        switch (op) {
            case '+':
            case '-':
                return 1;
            case '*':
            case '/':
            case '%':
                return 2;
            default:
                return -1;
        }
    }
    static void processOperator(LinkedList<Integer> st, char op) {
        int r = st.removeLast();
        int l = st.removeLast();
        switch (op) {
            case '+':
                st.add(l + r);
                break;
            case '-':
                st.add(l - r);
                break;
            case '*':
                st.add(l * r);
                break;
            case '/':
                st.add(l / r);
                break;
            case '%':
                st.add(l % r);
                break;
        }
    }
    public static int eval(String s) {
        LinkedList<Integer> st = new LinkedList<Integer>();
        LinkedList<Character> op = new LinkedList<Character>();
        for (int i = 0; i < s.length(); i++) {
            char c = s.charAt(i);
            if (isDelim(c))
                continue;
            if (c == '(')
                op.add('(');
            else if (c == ')') {
                while (op.getLast() != '(')
                    processOperator(st, op.removeLast());
                op.removeLast();
            } else if (isOperator(c)) {
                while (!op.isEmpty() && priority(op.getLast()) >= priority(c))
                    processOperator(st, op.removeLast());
                op.add(c);
            } else {
                String operand = "";
                while (i < s.length() && Character.isDigit(s.charAt(i)))
                    operand += s.charAt(i++);
                --i;
                st.add(Integer.parseInt(operand));
            }
        }
        while (!op.isEmpty())
            processOperator(st, op.removeLast());
        return st.get(0);
    }
    public static void main(String[] args) throws Exception {
        String exp = "7+(5*2)-(2*2)";
        System.out.println(eval(exp));
 
    }
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.10.2014, 15:19
Ответы с готовыми решениями:

Свойства remove i contains в LinkedList.
Pomogite po4emu ne rabotaet metodi remove i contains ?Vozvrashajut false ? package myHomeWork; import java.util.LinkedList; import...

Можно ли создать LinkedList определенного размера?
Можно ли создать двусвязный список(насколько я понял - это LinkedList) определенного размера? У меня получилось такой создать только при...

Альтернатива JSP
Добрый день, уважаемые коллеги :senor: Подскажите, пожалуйста, кто пишет Web приложения с использованием Spring, какие есть...

6
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
14.10.2014, 20:11
yarockiisergei, можно использовать класс Vector
0
0 / 0 / 0
Регистрация: 14.10.2014
Сообщений: 12
14.10.2014, 20:14  [ТС]
А если по конкретнее
0
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
14.10.2014, 20:40
yarockiisergei, вызовы removeLast замените на remove(vector.size() - 1);
Вроде больше никаких специфичных операций вы не вызываете. Так что всё должно скомпилироваться.
0
0 / 0 / 0
Регистрация: 14.10.2014
Сообщений: 12
14.10.2014, 20:44  [ТС]
У меня ругается на LinkedList<Integer>

Добавлено через 1 минуту
Код я выше привел, компилирую в NB
0
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
14.10.2014, 22:10
yarockiisergei, а я вам и говорю - замените LinkedList<Integer> на Vector
0
26 / 26 / 18
Регистрация: 16.01.2014
Сообщений: 161
08.07.2015, 22:47
Реализуйте свой класс. За одно и разберетесь. К тому же легко пишется.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.07.2015, 22:47
Помогаю со студенческими работами здесь

3D-альтернатива OpenGL для Java?!
Здравствуйте, вопрос - интересует мнение! Хочу попрактиковаться в Java программировании, решил написать шахматы(с возможностью сетевой...

Улучшенная альтернатива HDD или ухудшенная альтернатива SSD
Как я заметил, в ПК для офисных задач самое узкое место - это устройство хранения данных. Поэтому SSDшники повышают удобство работы за...

LinkedList
Имеем ЛинкедЛист кот-ый содержит допустим 15 элементов.Как вывести последние 10 элементов, а остальное не трогать?

ArrayLsit vs LinkedList
Почему ArrayList работает быстрее? private static final int size = 10000000; public static void main(String args) { ...

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


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
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. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru