Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Строки 
V
    Опции темы
CrasyMen
Дата 29.8.2007, 00:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 264
Регистрация: 19.12.2006

Репутация: нет
Всего: 3



Пользователь вводит строку типа "123 + 477" или "12*10". На экран должен выводится результат ( "600" или "120" соответственно). 

Используемые арифметические операции: +,  - , *,  и  /. 
Пробел игнорируется.
Строка должна проверятся на валидность, тоесть если пользователь введет "йцук45 + 4" или "12 4 + 5", то должен получить месагу типа "Ошибка! Повторите ввод".

Заранее благодарю.


--------------------
Человек просто обязан ошибаться, раз другие учатся на его ошибках.
[color=skyblue]Хочу сменить ник и сменю как только дадут такую возможность.[/color]
PM MAIL ICQ   Вверх
shimopus
Дата 29.8.2007, 00:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 103
Регистрация: 25.8.2006

Репутация: 1
Всего: 1



Уже было! Используйте поиск. Тут!
PM ICQ Skype GTalk   Вверх
CaligoSpiritus
Дата 1.9.2007, 15:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 8.12.2006

Репутация: нет
Всего: 2



Предлагаю сделать попроще:
Берешь строку, делишь ее сплитом на подстроки по используемым знакам (+,  - , *,  и  /) и проверяешь, чтобы получившийся массив строк содержал в себе строковое изображение чисел.
PM WWW Skype GTalk   Вверх
CrasyMen
Дата 1.9.2007, 22:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 264
Регистрация: 19.12.2006

Репутация: нет
Всего: 3



А как определить является ли строка числом? Можно конвертировать в char-массив, а потом с помощью Character.isDigit() проверять каждый элемент массива. Но мне кажется это корявый способ.

Цитата(CaligoSpiritus @  1.9.2007,  15:12 Найти цитируемый пост)
Берешь строку, делишь ее сплитом на подстроки

не понял что такое "сплит". Знаю только StringTogenizer.

Это сообщение отредактировал(а) CrasyMen - 1.9.2007, 22:55


--------------------
Человек просто обязан ошибаться, раз другие учатся на его ошибках.
[color=skyblue]Хочу сменить ник и сменю как только дадут такую возможность.[/color]
PM MAIL ICQ   Вверх
niasilil
Дата 2.9.2007, 03:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 325
Регистрация: 4.6.2007
Где: USA

Репутация: 8
Всего: 9



Цитата(CrasyMen @ 1.9.2007,  22:52)
А как определить является ли строка числом? Можно конвертировать в char-массив, а потом с помощью Character.isDigit() проверять каждый элемент массива. Но мне кажется это корявый способ.

Цитата(CaligoSpiritus @  1.9.2007,  15:12 Найти цитируемый пост)
Берешь строку, делишь ее сплитом на подстроки

не понял что такое "сплит". Знаю только StringTogenizer.

Код

        try {
            double d = Double.valueOf(s.trim()).doubleValue();
            System.out.println("double d = " + d);
        } catch (NumberFormatException nfe) {
            System.out.println("NumberFormatException: " + nfe.getMessage());
        }


split - это функция класса String, введена с java 1.4


--------------------
SCJP 5.0, SCJD
PM MAIL   Вверх
Mayk
Дата 2.9.2007, 03:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

Репутация: нет
Всего: 134



Antlr, javacc, sable, byacc/j и другие решают подобную задачу в лёт.


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
CrasyMen
Дата 3.9.2007, 22:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 264
Регистрация: 19.12.2006

Репутация: нет
Всего: 3



всем большое спасибо!
Цитата(niasilil @  2.9.2007,  03:02 Найти цитируемый пост)
split - это функция класса String, введена с java 1.4

похоже книга, которую я читаю, безнадежно устарела (((

Ребята, а вы что весь джавадок знаете?

Это сообщение отредактировал(а) CrasyMen - 3.9.2007, 22:09


--------------------
Человек просто обязан ошибаться, раз другие учатся на его ошибках.
[color=skyblue]Хочу сменить ник и сменю как только дадут такую возможность.[/color]
PM MAIL ICQ   Вверх
LSD
Дата 4.9.2007, 17:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



Цитата(CrasyMen @  3.9.2007,  23:09 Найти цитируемый пост)
Ребята, а вы что весь джавадок знаете?

Мы гугль юзаем smile

P.S. Не забывай помечать вопрос как решенный.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
niasilil
Дата 6.9.2007, 18:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 325
Регистрация: 4.6.2007
Где: USA

Репутация: 8
Всего: 9



Цитата(CrasyMen @ 3.9.2007,  22:09)
Ребята, а вы что весь джавадок знаете?

I wish smile 


--------------------
SCJP 5.0, SCJD
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0557 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.