Должны ли эти параметры быть константами или обычным целым числом?

#java #constants #final

Вопрос:

У меня есть эти 3 финала, и я не уверен, должны ли они быть финалами или нет, ниже приведен пример их использования, пожалуйста, предположите, что номер пользователя был отсканирован, спасибо.

 final int HUNDREDS_DIGIT = 100;
final int TENS_DIGIT = 10;
final int SINGLES_DIGIT = 10;

//Calculates and prints the difference between user number and its reverse.
System.out.println("User number is: "   userNum); 
int firstDigit = userNum / HUNDREDS_DIGIT;
int secondDigit = userNum / TENS_DIGIT % TENS_DIGIT;
int thirdDigit = userNum % SINGLES_DIGIT;
int reversedNum = thirdDigit * HUNDREDS_DIGIT   secondDigit * TENS_DIGIT   firstDigit;
int difference = Math.abs(userNum - reversedNum);
 

Комментарии:

1. да, так и должно быть final . А также static потому, что значение не меняется от одного экземпляра к другому.

Ответ №1:

Чтобы определить, должны ли эти значения быть окончательными, вы должны спросить себя, хотите ли вы, чтобы их значение менялось во время выполнения программы или нет.

Мне кажется, что если бы эти значения изменились, это дало бы неправильные результаты, так что final-хороший выбор.

Тем не менее, возможно, это не обязательно должны быть даже константы, userNum /100 довольно ясен в своем намерении.