在Java中,检查字符串是否为回文串通常涉及将字符串与其反转版本进行比较。在这个过程中,可能会遇到一些异常情况,例如空字符串、null值或非字符串输入。为了确保代码的健壮性,我们需要对这些潜在的异常进行处理。
以下是一个简单的Java方法,用于检查字符串是否为回文串,并包含异常处理:
public class PalindromeChecker {
public static void main(String[] args) {
try {
System.out.println(isPalindrome("racecar")); // true
System.out.println(isPalindrome("hello")); // false
System.out.println(isPalindrome("")); // true
System.out.println(isPalindrome(null)); // throws exception
System.out.println(isPalindrome(123)); // throws exception
} catch (IllegalArgumentException e) {
System.err.println(e.getMessage());
}
}
public static boolean isPalindrome(Object input) {
if (input == null) {
throw new IllegalArgumentException("Input cannot be null.");
}
if (!(input instanceof String)) {
throw new IllegalArgumentException("Input must be a string.");
}
String str = (String) input;
int left = 0;
int right = str.length() - 1;
while (left < right) {
if (str.charAt(left) != str.charAt(right)) {
return false;
}
left++;
right--;
}
return true;
}
}
在这个示例中,我们首先检查输入是否为null,如果是,则抛出IllegalArgumentException
。接下来,我们检查输入是否为字符串类型,如果不是,同样抛出IllegalArgumentException
。最后,我们使用双指针法检查字符串是否为回文串。
在main
方法中,我们使用try-catch
语句调用isPalindrome
方法,以便在遇到异常时捕获并处理它们。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。