В настоящее время я изучаю Java, и я только что закончил писать свою первую программу. Эта программа реализует палиндром как для целых чисел, так и для строк. Мой фон кодирования находится на C++, но мне было интересно, есть ли у кого-нибудь советы о том, как лучше структурировать код (упростить чтение) или советы о том, как я могу скомпенсировать код немного лучше. Пожалуйста, не стесняйтесь давать как можно больше конструктивной критики. К концу лета я планирую подать заявку на должность начального уровня Software Engineering, поэтому я приветствую любую обратную связь! Спасибо, парни.Как оптимизировать код палиндрома?
package projectprac;
import java.util.Scanner;
public class ProjectPrac {
static Scanner userInput = new Scanner(System.in);
public static int reverseInt(int x){
/* This function will reverse an integer value */
int reverse = 0;
int temp = x;
while(x != 0){
reverse = reverse * 10;
reverse = reverse + x % 10;
x = x/10;
}
intPalindromeCheck(temp, reverse);
return reverse;
}
public static String reverseString(String word){
/* This function will return a String value */
String reverse = new StringBuffer(word).reverse().toString();
stringPalindromeCheck(word, reverse);
return reverse;
}
public static void intPalindromeCheck(int one, int two){
/* This function will check to see if int
* is a Palindrome
*/
if(one == two){
System.out.println(one + " is a Palindrome!");
}
else{
System.out.println(one + " is NOT a Palindrome!");
}
}
public static void stringPalindromeCheck(String one, String two){
/* This function will check to see if String is a
* Palindrome
*/
if(one.equals(two)){
System.out.println(one + " is a Palindrome!");
}
else{
System.out.println(one + " is NOT a Palindrome!");
}
}
public static void main(String[] args) {
String word;
int x = 0;
while (x != -1){
System.out.print("What would you like to do 1. reverse int 2. reverse String: ");
x = userInput.nextInt();
if(x == 1){
System.out.print("Please input a number: ");
x = userInput.nextInt();
System.out.println(reverseInt(x));
}
else if (x == 2){
userInput.nextLine(); //skips the new line
System.out.print("Please enter a string: ");
word = userInput.nextLine();
System.out.println(reverseString(word));
}
}
}
}
Первое, что я сделал бы для «int», я бы сразу преобразовал его в строку и выполнил ее через 'reverseString', а не имел отдельный набор функций для' int'. Просто мысль. – lurker
Спасибо! Я сразу начну. – JSCOTT12
Документация по методу типична для внешнего метода, с комментариями javaDoc (начиная с/**) –