Conversation
Clarifying the encryption request, waiting fir keyboard input
ADD Caesar Cipher in Caesar Cipher created only encrypt
FIX Caesar Cipher
FIX Caesar Cipher
FIX Caesar Cipher ADD FileHandler ADD UserInterface
FIX FileHandler FIX UserInterface
FIX UserInterface
demologin
left a comment
There was a problem hiding this comment.
Более менее аккуратно, но методов всего два, у основной массы их три, так что оценка C, но в целом код неплох. Будь его побольше, поставил бы B
|
|
||
| public static String encrypt(String text, int shift) { | ||
|
|
||
| //создание пустой строки для сохранения результата |
There was a problem hiding this comment.
комментарии лучше оформлять в формате javadoc и не по русски а english (будет один индус в команде и придется все переводить для него, так что лучше сразу на english). Но у нас можно и на русском, просто привычка плохая )
| boolean found = false; | ||
|
|
||
| //берем текущий символ из строки | ||
| char currentChar = text.charAt(i); |
There was a problem hiding this comment.
Тут весь текст целиком будет нужен и будет ограничение (по размеру кучи), а если бы посимвольно обрабатывать из потока в поток, то ограничений бы не было. Не так важно, но если бы это было серверное приложение то было бы очень важно - там памяти обычно сильно меньше
|
|
||
| public class MainApp { | ||
| public static void main(String[] args) { | ||
| UserInterface ui = new UserInterface(); |
There was a problem hiding this comment.
Имена лучше писать полностью: userInterface (ui - тут еще можно догадаться) fileHandler (а вот это fh - уже мало кто поймет)
| } | ||
|
|
||
| // Если результат нужно сохранить в файл | ||
| if (mode == 1) { |
There was a problem hiding this comment.
Это магия. Что такое 1? Почему не 10 или не 100 или не 2? Нужна константа с понятным именем
| import java.util.Scanner; | ||
|
|
||
| public class UserInterface { | ||
| Scanner scanner = new Scanner(System.in); |
There was a problem hiding this comment.
А что с модификаторами доступа? packege-private - это самый редкий вариант. Лучше явно все указать.
| System.out.println("Choose an encryption, method: \n 1. Encrypt \n 2. Decrypt \n 3. BruteForce"); | ||
| try { | ||
| int choice = Integer.parseInt(scanner.nextLine()); | ||
| if (choice == 1 || choice == 2) { |
There was a problem hiding this comment.
Константы с понятными именами, а не 1 и 2
| return choice; | ||
| } else { | ||
| // если число некорректно | ||
| System.out.println("Please enter the correct value (1 or 2)."); |
There was a problem hiding this comment.
И тут их тоже надо использовать. Не надо хардкодить 1 и 2
| } | ||
| // Ловим ошибку, если введено не число | ||
| } catch (NumberFormatException e) { | ||
| System.out.println("Invalid input. Please enter a number."); |
There was a problem hiding this comment.
Ой нет. e терять нельзя. Его или выводят или логируют. Но не "теряют" никогда.
| try { | ||
| return Integer.parseInt(scanner.nextLine()); | ||
| } catch (NumberFormatException e) { | ||
| System.out.println("Invalid input. Please enter a number."); |
| System.out.println("Do you want to work with a file or a console? \n 1. File \n 2. Console"); | ||
| try { | ||
| int mode = Integer.parseInt(scanner.nextLine()); | ||
| if (mode == 1 || mode == 2 ) { |
No description provided.