在我正在编写的程序中,我有以下代码来为单词创建正则表达式并从一系列不同的ArrayList中检索与之匹配的所有单词。
public ArrayList<String> solveWord(String str)
{
String regex = "";
String[] strArr = str.split("");
for (String temp : strArr)
{
if (temp.equals(" "))
{
regex = regex + "[a-z]";
}
else
{
String s = "[" + temp + "]";
regex = regex + s;
}
}
int x = str.length();
ArrayList<String> m = null;
System.out.println("2ns");
switch (x)
{
case 1: break;
case 2: m = let2;
break;
case 3: m = let3;
break;
case 4: m = let4;
break;
case 5: m = let5;
break;
case 6: m = let6;
break;
case 7: m = let7;
break;
case 8: m = let8;
break;
case 9: m = let9;
break;
case 10: m = let10;
break;
case 11: m = let11;
break;
case 12: m = let12;
break;
case 13: m = let13;
break;
case 14: m = let14;
break;
case 15: m = let15;
break;
case 16: m = let16;
break;
}
System.out.println(" ns");
ArrayList<String> trans = retrieve(str,m,regex);
return trans;
}
private ArrayList<String> retrieve(String word, ArrayList<String> arr, String reg)
{
ArrayList<String> ex = arr;
ArrayList<String> matches = new ArrayList<String>();
for (String temp : ex)
{
if (temp.matches(reg))
{
matches.add(temp);
}
}
return matches;
}
当我从另一个类调用求解(String str)时,行"strArr=str.split (""); 抛出一个空指针异常。我遇到的另一个问题是,当我自己测试这个类时,行if(temp.matches(reg))给出了以下错误。
Exception in thread "main" java.util.regex.PatternSyntaxException: Unclosed character class near index 12
[][h][a-z][h]
^
at java.util.regex.Pattern.error(Unknown Source)
at java.util.regex.Pattern.clazz(Unknown Source)
at java.util.regex.Pattern.sequence(Unknown Source)
at java.util.regex.Pattern.expr(Unknown Source)
at java.util.regex.Pattern.compile(Unknown Source)
at java.util.regex.Pattern.<init>(Unknown Source)
at java.util.regex.Pattern.compile(Unknown Source)
at java.util.regex.Pattern.matches(Unknown Source)
at java.lang.String.matches(Unknown Source)
at Words.fillInTheBlanks.retrieve(fillInTheBlanks.java:238)
at Words.fillInTheBlanks.solveWord(fillInTheBlanks.java:228)
at Words.tester.main(tester.java:12)
有人能帮忙吗?
这里的拆分函数问题是;您需要使用一些字符串进行拆分,而该字符串不能只是“”。如果您想按空格拆分,请写“”。
正则表达式中不能有空方括号[]
。在生成正则表达式之前,必须检查temp
是否为空:
if (temp.equals(" "))
{
regex = regex + "[a-z]";
}
else if (temp.length() > 0)
{
String s = "[" + temp + "]";
regex = regex + s;
}
对于NullPointerException,它发生在String[]strArr=str.split ("");
行的唯一可能性是str
为空。
问题内容: 有可能这可能是一个双重问题。我将String变量初始化为null。我可能会或可能不会使用一个值更新它。现在我想检查此变量是否不等于null以及我尝试执行的操作是否会得到null指针异常。空指针异常,因为它代价高昂。是否有任何有效的解决方法.TIA 问题答案: 如果您使用 你 不会 得到。 我怀疑你在做什么: 这是因为null 而引发,而不是因为null。 如果仍然无法解释,请发布您用于
我已经更新了我的项目中的一些依赖关系之后,我的Hibernate配置类显示Nullpointerx的。 我将SpringDataJPA存储库与hibernate一起使用,已经超过24小时了,仍然没有找到任何关于小问题的适当解决方案。 我已经尝试过的一些解决方案:- 使用@bean(name=“entityManagerFactory”)提供bean名称 我面临的问题 波姆。xml文件 配置类 db
当我试图从DB查询结果时,我得到一个空指针异常。以下是错误: 这是错误产生的函数。 如果我启动应用程序信息服务(=new ApplicationInfoService()),我会得到一个指向我的服务类的空指针错误,在这里进行查询 错误转到createQuery行,如果我打印出EntityManager,它将返回“null”。为什么我的Entitymanager不能初始化。我在我的登录系统中使用了几
当你点击btnChangePass,我得到错误。 我有一个错误: FATAL EXCEPTION:主进程:com.company.learn2,PID:18854java.lang.NullPointerExcture atcom.company.learn2。Heslo.change密码(Heslo.java:84)在com.company.learn2。Heslo.on点击(Heslo.jav
问题内容: 我在登录模式提交按钮的单击侦听器中遇到问题。 这是错误。 我对什么是空指针异常有一个合理的了解,并且已经彻底搜索了一个类似于我的问题。我试图以几种方式重新格式化点击侦听器,确保我具有正确的视图ID等。 显然,还有更多但与我认为无关的话题。这是带有按钮的对话框的XML文件。 任何帮助将不胜感激。 问题答案: 是因为它不属于 当你调用内部的,它要寻找一个你的活动的布局中。 试试这个代替: