我正在尝试验证十六进制数字并且它不太顺利。我正在尝试下面的代码,但我的逻辑并不完全正确。有什么帮助吗?
if (!array[i].equals("A") || !array[i].equals("B") || !array[i].equals("C") || !array[i].equals("D") || !array[i].equals("E") || !array[i].equals("F"))
{
b[i] = false;
}
else
{
b[i] = true;
}
上述代码的目的是给我一个真或假的价值。正如值在A到F之间,因为该值不在A到F之间。
答案 0 :(得分:1)
if ((array[i]-'A') > 5)
b[i]=false;
else
b[i]=true;
答案 1 :(得分:0)
if (array[i].equals("A") || array[i].equals("B") || array[i].equals("C") || array[i].equals("D") || array[i].equals("E") || array[i].equals("F"))
{ b[i] = true; }
else
{ b[i] = false; }
或者您可以使用List
并使用.contains()
。
List<String> hexchars = new ArrayList<String>();
hexchars.add("A");
hexchars.add("B");
hexchars.add("C");
hexchars.add("D");
hexchars.add("E");
hexchars.add("F");
return hexchars.contains("A");
但从长远来看,正则表达式是最简洁的方法。