我有验证和ID的方法,但遇到了问题。
该ID必须遵循以下规则才能有效:


完全有6个字符
必须以A,E或P开头。


这是代码:

public static String getCartId(String cartId) {
    Boolean correctId = false;

    while (!correctId) {
        cartId = JOptionPane.showInputDialog("Type the Cart ID:");
        cartId = cartId.trim();
        cartId = cartId.toUpperCase();
        char c = cartId.charAt(0);

        // VALIDATION
        if (cartId.length() != 6)
            JOptionPane.showMessageDialog(null, "Cart ID must have only 6 chars, type it again.");
        else if (c != 'A' || c != 'E' || c != 'P')
            JOptionPane.showMessageDialog(null, "Invalid Cart ID, type it again.");
        else
            correctId = true;
    }
    return cartId;
}


如果我键入aaaaaa,它最终会表明此ID无效。

关于什么是错的任何想法?

最佳答案

尝试替换为:

  else if (c != 'A' || c != 'E' || c != 'P')


使用&&代替||像这样:

  else if (c != 'A' && c != 'E' && c != 'P')

07-26 08:22