我是 java 的新手,遇到了一个我似乎无法解决的问题。
我试图确保在充满数字的字符串中没有字母或 0。如果字符串只包含数字,我希望它返回 true,如果其中有字母或 0,我希望它返回 false。
请注意,我不想要任何对我来说太复杂的东西,例如 RegEx,所以如果您能尽可能地保持它的基本性,我将不胜感激。
例如。 “123456789”= 真,“98765x321”= 假,“46813079”= 假。
到目前为止,这是我的代码:
private static boolean isCorrectSyntax (String str){
boolean trueCheck = false;
int i = 0;
char charCheck = str.charAt(i);
if(str != null && str.length() == 9){
for(i = 0; i < 9; i++){
if (Character.isLetter(charCheck) || charCheck <= 0){
trueCheck = false;
break;
}
else{
trueCheck = true;
}
}
}
最佳答案
您可以检查 indexOf() 0
首先,如果它的计算结果为 -1,这意味着字符串不包含 0
,然后尝试 parseLong()字符串并处理 NumberFormatException
。如果有异常,那么你的测试失败。
如果数字字符串很大,你可以去BigInteger() ,但我认为这太矫枉过正了。
这些是指针,您可以围绕它开发代码。
关于java - 在字符串中检查字母或 0 的问题。[JAVA],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17751513/