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

Определить тип выражения в строке

28.11.2014, 18:07. Показов 508. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Задача такая: пользователь вводит строку, которая делится на выражения, необходимо определить чем являются эти выражения - число, идентификатор (например, a14, но не 14a), слово или invalid combination.


Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public static void main(String[] args) throws IOException {
        DataInputStream MyInput = new DataInputStream(System.in);
        
        System.out.println("Введите строку \n");
        String str = MyInput.readLine();
        
        String[] mas = str.split("[,;:.!?\\\\s]+");
        CheckResult a = new CheckResult();
        for(int i = 0; i <= mas.length  - 1; i++) {            
            if (a.isWordOrIdentifier(mas[i]) == 2) {
                System.out.println(mas[i] + " arihmetic expression");
            } else if (a.isWordOrIdentifier(mas[i]) == 1 ) {
                System.out.println(mas[i] + " идентификатор") ;
            } else if (a.isWordOrIdentifier(mas[i]) == -1) {
                System.out.println(mas[i] + " Invalid combination");
            } else if (a.isWordOrIdentifier(mas[i]) == 0) {
                System.out.println(mas[i] + " word");
            }
        }        
    }
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
public boolean isLetter(char ch) { // является ли символ буквой
        return ch >= 'A' && ch <= 'z';
    }
                
    public boolean isDigit(char ch) { // является ли символ цифрой
        return ch>='0' && ch<='9'; 
    }
    
   
    public int isWordOrIdentifier(String str) {
        // -1 nothing, 0 - word, 1-identifier, 2 - arihmetic expression
 
        if ((str.contains("+, -, *, /")) == true) {
                result = 2;
            }
        for (int i = 0; i <= str.length() - 1; i++) { // перебираем по очереди каждый символ выражения
            result = 0;
            if (!isLetter(str.charAt(i))) {
                result = 1;
            } else if (! (str.charAt(i) >= '0' && str.charAt(i) <= '9')) {
                result = -1;
            }          
        }
       return result;    
    }
Вопрос - как сделать проверку на слово и арифм. выражение, сейчас всё определяется как идентификатор
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.11.2014, 18:07
Ответы с готовыми решениями:

Как определить тип переменной, ссылающейся на определённый класс? Нужен именно тип, а не ссылка на обьект!
interface HowDefineMyType { void info(); } class A implements HowDefineMyType { public int x;

Создать классы, спецификации которых приведены ниже. Определить конструктор и методы get Тип(), get Тип(), show Информ()
Реализовать класс в консольном приложении. Определить дополнительно методы в классе, создающем массив объектов. Задать критерий выбора...

Определить тип выражения
Какой тип выражения \bar{(p\leftrightarrow q)}\leftrightarrow ((p\vee q)\wedge \bar{(p\wedge q)}). a)класс еквивалентности б)закон...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.11.2014, 18:07
Помогаю со студенческими работами здесь

Определить тип выражения
Определить тип выражения: int(5/3)

Определить тип выражения: trunc(-3.14)
Определить тип выражения: trunc(-3.14)

Определить тип выражения: sqr(7)
Определить тип выражения: sqr(7)

Вычислить значение выражения и определить его тип:
Вычислить значение выражения и определить его тип: round(2.7)

Вычислить значение выражения и определить его тип
Решение должно быть подробным. 1. Записать на языке Паскаль выражение: y=arcctg21 2. Вычислить значение выражения и определить...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru