【发布时间】:2015-12-03 19:25:34
【问题描述】:
所以我有我的代码:
import java.util.Scanner;
public class PalindromeDriver
{
public static void main(String[] args)
{
String another = "y";
Scanner scan = new Scanner(System.in);
PalindromeTester section = new PalindromeTester();
while (another.equalsIgnoreCase("y"))
{
System.out.println("Enter a palindrome:");
String str = scan.nextLine();
if (section.palindromeTest(str))
System.out.println(str + " IS a palindrome!");
else
System.out.println(str + " is NOT a palindrome!");
System.out.println("Test another?(y/n)");
another = scan.nextLine();
}
}
}
和... 导入 java.util.*;
public class PalindromeTester
{
public boolean palindromeTest(String str)
{
if (str.length() <= 1)
return true;
if (str.charAt(0) == str.charAt(str.length() - 1))
return palindromeTest(str.substring(1, str.length() - 1));
return false;
}
}
我被告知我的代码很好,但是我应该在 PalindromeTester 中添加更多方法,例如构造函数和将潜在回文存储到实例变量中的方法,添加这些方法对我的程序是否已经正确运行?
【问题讨论】:
-
不,你不需要任何东西。但我建议的是,无论何时使用 'if',即使它只有一行语句,也要使用花括号。
-
另外格式化你的代码最好不要使用一个空格。这样做的另一种方法是 return str.equals(new StringBuffer(str).reverse().toString());
-
在 if 块之间添加新的行间距也使代码更具可读性,以及适当的制表符间距。
标签: java variables constructor instance palindrome