java - 如何根据找到的字符进行异常(exception)处理

标签 java

我编写了一个程序,该程序应该读取和存储字符串,并稍后用它们做更多的事情,这是一个示例字符串:

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
}

它会删除所有ABC,然后检查长度是否大于0。

或者

if(s.matches("[ABC]+")){
    //correct
}else{
    //incorrect
}

请注意,区分大小写。另外,如果字符串的长度为 0,则会给出不正确

关于java - 如何根据找到的字符进行异常(exception)处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44287774/

相关文章:

java - 如何将应用程序部署到谷歌应用程序引擎中

java - 如何将 java 字符串格式化为 SQL 语法?

Java 按元素合并两个列表

java - 有没有一种可靠的方法在java中使用堆?

java - 你如何将 "compress"列出来?

java - 服务器/客户端通信问题

java - 如何在不强制消费应用程序使用 Dagger 的情况下构建基于 Dagger 的 Android 库?

java - Gson序列化接口(interface)/抽象类

java - SomeClass<T extends OtherClass> 和 SomeClass<T super OtherClass> 之间的区别

java - onCreate 中设置的属性,导致 onResume 中出现 NullPointer