我有一个问题。我必须确定输入字符串是否确实是有效的四个字符的双字面量
- 完全由以下字符组成:“ +”,“-”,“。”(小数点)和“ 0”至“ 9”
- “ +”或“-”字符只能显示为第一个字符
- “。”(小数点)字符必须只出现一次
- 所有其他字符必须为“ 0”至“ 9”字符
我的大问题是将+-放在第一个字符和。一次
答案 0 :(得分:0)
尝试一下-
static boolean isValid(String s) {
// 1
if (s.length() != 4) return false;
String digits = "0123456789";
// 2
if (s.charAt(0) != '+' && s.charAt(0) != '-' && digits.indexOf(s.charAt(0)) == -1) return false;
byte decimalCount = 0;
for (int i = 1; i < 4; i++) {
if (s.charAt(i) == '.') decimalCount++;
// 4
else if (digits.indexOf(s.charAt(i)) == -1) return false;
}
//3
return decimalCount == 1;
}