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

Из ArrayList в String

22.03.2016, 01:58. Показов 8971. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пытаюсь сделать калькулятор, если не описывать все, то все действия, что записываются в Jtextfield считаются с помощью метода eval из javaScript, уже чувствую что скажете что метод так себе, но решил пойти через него. Проблема в том, что eval возвращает результат типа double, и если я буду складывать только целые числа то он будет ругаться. Я придумал метод, который добавляет в числа ".0" тем самым делая из них тип double. Придумал как это сделать я только через Arraylist. И вот сама проблема: не могу переделанный Arraylist вернуть обратно в обычный String что бы послать в метод eval.
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
JButton bIs = new JButton("=");
bIs.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{   
try {
    String str =textField.getText() ;
    ArrayList list = new ArrayList();
    char[] chars = str.toCharArray();
    for(int i = 0; i <chars.length; i++){
        list.add(chars [i]);    
    }
    for(int i = list.size() - 1; i >= 0; i--)
    {
        if(list.get(i).equals('+'))
        {
            list.add(i, "0");
            list.add(i, ".");
        }
    }
    String text = String.valueOf(list);
    System.out.println(text);
    
Script(text);
} catch (ScriptException e1) {
}
}
});
Java
1
2
3
4
5
6
7
8
9
public static double Script(String x) throws ScriptException 
{
ScriptEngine engine = new ScriptEngineManager().getEngineByName("js");
double result =  (double) engine.eval(x);
System.out.println(result);
String str1 = "" + result;
textField.setText(str1);
return result;
}
Этот код не работает, скрипт не понимает эту строку
Подскажите решение этой проблемы
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.03.2016, 01:58
Ответы с готовыми решениями:

В чем разница между new ArrayList<String>() и new ArrayList<>()?
подскажите,знатоки,в чем разность между ArrayList &lt;String&gt; stringList = new ArrayList&lt;String&gt;(); и ArrayList &lt;String&gt;...

ArrayList<HashMap<String,String>> get() - перебирает все элементы
Есть метод getList() который возвращает значение типа ArrayList&lt;HashMap&lt;String,String&gt;&gt; Если я выбираю из этого списка элемент методом...

Преобразовать ArrayList<String[]> в []String
Имеется private static ArrayList&lt;String&gt; ResultSets; А так же private static String str; Пишем str = new String; str =...

4
1123 / 794 / 219
Регистрация: 15.08.2010
Сообщений: 2,185
22.03.2016, 02:22
Лучший ответ Сообщение было отмечено Flamess как решение

Решение

Flamess,
Java
1
2
3
4
5
StringBuilder sb = new StringBuilder();
        for (Object o : list)
            sb.append(o);
        String res = sb.toString();
        System.out.println(res);
1
 Аватар для HOBATOP
323 / 310 / 206
Регистрация: 14.09.2015
Сообщений: 827
22.03.2016, 02:24
Flamess, чего-то тут такое нагорожено...
Java
1
2
String text = String.valueOf(list); //у Вас так
String text = list.toString(); //должно быть
0
1123 / 794 / 219
Регистрация: 15.08.2010
Сообщений: 2,185
22.03.2016, 02:34

Не по теме:

Цитата Сообщение от HOBATOP Посмотреть сообщение
чего-то тут такое нагорожено...
велосипед из костылей и без седла

Цитата Сообщение от HOBATOP Посмотреть сообщение
String text = String.valueOf(list); //у Вас так
String text = list.toString(); //должно быть
в данном случае это две абсолютно эквивалентные друг другу строки так как valueOf не что иное как
Java
1
2
3
String valueOf(Object o) {
return o.toString()
}
0
 Аватар для HOBATOP
323 / 310 / 206
Регистрация: 14.09.2015
Сообщений: 827
22.03.2016, 02:48
КОП,
Цитата Сообщение от КОП Посмотреть сообщение
в данном случае это две абсолютно эквивалентные друг другу строки так как valueOf не что иное как
согласен, спатки уже пора. Пусть делает через for:
Java
1
2
3
4
5
        String text = "";
        for (String con : list) {
            text += con;
        }
        System.out.println(text);
так уж точно склеится...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.03.2016, 02:48
Помогаю со студенческими работами здесь

Можно ли тип Collection<String> преобразовать в тип ArrayList<String>?
Добрый день ! Можно ли тип Collection&lt;String&gt; преобразовать в тип ArrayList&lt;String&gt; Collection&lt;String&gt; l4 = map.values(); ...

ArrayList и String
Есть ArrayList: productAL = new ArrayList&lt;String&gt;(); и массив String productMas = {}; Вопрос: как лучше из productAL перевести данные...

Удалить элемент ArrayList<String[]>
Добрый вечер уважаемые форумчане. Подскажите пожалуйста... Не могу удалить элементы АррайЛиста с помощью remove. После удаления сайз...

Преобразование arraylist в string строку
Пытаюсь преобразовать arraylist в string строку. ArrayList&lt;String&gt; ID = new ArrayList&lt;String&gt;(); for (String s: ID) { ...

Бесконечный цикл в ArrayList add(int z, String y)
ArrayList&lt;String&gt; stringOne = new ArrayList(); stringOne.add(&quot;\&quot;A1+D1&quot;); stringOne.add(&quot;=B2+C3&quot;); stringOne.add(&quot;3&quot;); ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru