问题描述
我有一个问题。 我必须确定输入字符串是否确实是有效的四字符双字面量
- 完全由以下字符组成:“+”、“-”、“.” (小数点)和“0”到“9”
- '+' 或 '-' 字符只能作为第一个字符出现
- 这 '。' (小数点)字符必须只出现一次
- 所有其他字符必须是“0”到“9”字符
我的大问题是将 +- 放在第一个字符和 . 一次
1楼
尝试这个 -
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;
}