我有验证和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')