如何在java中检查字符串范围?
if( !(str2.length() >= 3) && !(str2.length() <= 15)){
System.out.println("Minumum length required");
}
而不是像上面那样使用。有什么短暂的吗?
答案 0 :(得分:3)
(!(str2.length() >= 3) && !(str2.length() <= 15))
与
相同 ( (str2.length() < 3) && (str2.length() > 15))
与
相同 (str2.length() < 3) && (15 < str2.length())
总是假的。
没有数字小于3且大于15。
所以这些都是毫无意义的比较。
如果您想知道长度在3到15之间,请使用
if (3 <= str2.length() && str2.length() <= 15)
眼睛容易上瘾,让人们想起熟悉的数学表达式,如3≤x≤15。
但如果这就是你的意思,你的信息也需要修复。如果你的意思是你说的话,那么这段代码的最短版本就是一个空白行。它会做同样的事情。
答案 1 :(得分:1)
这不短,但至少是正确的
if (!(str2.length() >= 3 && str2.length() <= 15)){
System.out.println("text length is not within range");
}
答案 2 :(得分:0)
您可以使用本地变量。
int len = str2.length();
if (len < 3 || len > 15)
throw new IllegalArgumentException("String length" + len + " out of range.");
您可以使用单一比较,但这不会更短。
if (len + Integer.MIN_VALUE - 3 > Integer.MIN_VALUE - 3 + 15)
这适用于低于3的值将下溢并且看起来非常大。