温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Java回文串检查中的异常处理

发布时间:2024-11-11 15:33:42 来源:亿速云 阅读:78 作者:小樊 栏目:编程语言

在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方法,以便在遇到异常时捕获并处理它们。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI