Я хочу подсчитать используемые управляющие структуры (IF - statmens, switch case,..) в простом классе Java и просто сохранить сумму в переменной.
У вас есть идеи, как я могу это сделать?
Я хочу подсчитать используемые управляющие структуры (IF - statmens, switch case,..) в простом классе Java и просто сохранить сумму в переменной.
У вас есть идеи, как я могу это сделать?
Если я правильно понял ваш вопрос, речь идет о чтении шаблонов из текстового файла.
Если вы просто хотите иметь программу для проверки другого фрагмента кода, вы можете прочитать .java так же, как прочитать текстовый файл.
Когда вы встречаете такие слова, как if
или switch
, добавляйте единицу к вашей переменной.
Конечно, вы хотели бы убедиться, что вы не читаете закомментированные строки (т.е. игнорируете строки после //
, а не внутри /* */
)
Как это сделать?
Вы можете читать строки кода как String
, использовать методы String, такие как contains
, или даже использовать регулярное выражение в Java, чтобы проверить, содержит ли эта строка искомое слово.
Вы также можете обратить внимание на такие символы, как ;
, чтобы помочь определить конец оператора в коде.
Как правило, информация о вашей исходной структуре не будет сохранена в вашем классе среды выполнения. Компилятор может изменить его, оптимизировать, добавить к нему и т.д. и т.п.
Если вы действительно имеете в виду лексический анализ исходного файла, а не класса, есть несколько доступных пакетов, которые помогут вам сделать это, но вы должны передать в них исходный код, и результаты не будут (вплоть до нотации O()). ) отражают значения этих счетчиков во время выполнения.