十六进制验证算法

时间:2013-01-23 20:12:23

标签: java algorithm

我正在尝试验证十六进制数字并且它不太顺利。我正在尝试下面的代码,但我的逻辑并不完全正确。有什么帮助吗?

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之间。

2 个答案:

答案 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");

但从长远来看,正则表达式是最简洁的方法。