2013-05-27 19 views
-1

我有两个十六进制数字表示'X'和'Z'。我从用户说'Y'得到一个十六进制输入。现在我需要验证值'Y'是否在'X'和'Z'之间。
所有这三个数字都是十六进制的十进制数。是否有任何简单的逻辑来实现这一点,而不是增加'X'的值直到'Z'?
也请给我建议我们如何在JAVA中实现这一点。两个十六进制数字之间的数字 - Java

+3

“十六进制” 只是一种表象。它不会改变你处理数字的方式。你仍然可以使用你学到的相同的比较操作符。 –

+1

你有数字或字符串吗? – BobTheBuilder

回答

1
final String X = "00"; 
final String Z = "ff"; 
final String Y = "10"; 

if(Integer.parseInt(X, 16) <= Integer.parseInt(Y, 16) && Integer.parseInt(Y, 16) <= Integer.parseInt(Z, 16)) { 
    System.out.println("X <= Y <= Z"); 
} 
0

数字只是数字,十六进制是表示(使用文字或字符串)。 您可以:将十六进制字符串转换为整数,然后使用普通比较(<= < ...)检查输入是否在两者之间。

1

十六进制值是整数 - 只是用十六进制代表代替十进制。
难道你不能这样做吗?

int upperHex = 0xf7c0; 
int lowerHex = 0x040; 

int inputHex = 0x050; 

if(inputHex <= upperHex && inputHex >= lowerHex) 
//Inside the range 
相关问题