我编写了一个程序,该程序应该读取和存储字符串,并稍后用它们做更多的事情,这是一个示例字符串:
AAAAAAAAABBBBBBCCCC
BBBBBBBAAAAACCCCCCC
我想在扫描仪方法中破例,这样当我读取它时,它会发现不需要的字符,例如“_”和“!”或“f”,它返回异常并停止程序的其余部分。
基本上我希望它只允许 3 个字符(A、B 和 C)。我不知道 atm 如何写这个,但可能有一个 java 方法如何做到这一点:D
那么我该如何编写一个只允许这3个的异常呢?
public static void main(String[] args) throws FileNotFoundException, CharException {
Scanner s = new Scanner(new File("C:/path/hehe.txt"));
if (characters found are different than 'a', 'b', 'c') {
break;
}
我知道这看起来很可怕,但是,这基本上就是我正在考虑写的内容。谢谢。
最佳答案
使用正则表达式
String s = "AAAAAAAAABBBBBBCCCC";
if(s.replaceAll("[ABC]", "").length()>0){
//incorrect
}else{
//correct
}
它会删除所有A
、B
和C
,然后检查长度是否大于0。
或者
if(s.matches("[ABC]+")){
//correct
}else{
//incorrect
}
请注意,区分大小写。另外,如果字符串的长度为 0,则会给出不正确
关于java - 如何根据找到的字符进行异常(exception)处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44287774/