Java递归生成错误:需要数组,但找到字符串?
我真的需要帮助修复我的这行代码,我不断遇到以下两个错误: 第一个错误:需要数组,但找到字符串 如果(x.length()==0&&y.length()>0&&y[0]==“*”) 第二个错误:找不到替换(int,int)字符串newY=y.replace(0,1)的合适方法; 任何帮助都将不胜感激Java递归生成错误:需要数组,但找到字符串?,java,recursion,compiler-errors,Java,Recursion,Compiler Errors,我真的需要帮助修复我的这行代码,我不断遇到以下两个错误: 第一个错误:需要数组,但找到字符串 如果(x.length()==0&&y.length()>0&&y[0]==“*”) 第二个错误:找不到替换(int,int)字符串newY=y.replace(0,1)的合适方法; 任何帮助都将不胜感激 //Second string is empty and there is wildCard character if(y.length() == 0 && wildCard) {
//Second string is empty and there is wildCard character
if(y.length() == 0 && wildCard)
{
return true;
}
if(x.length() == 0 && y.length() > 0 && y[0] == "*")
{
String newY = y.replace(0,1);
return match(x, newY, true);
}
在
“*”
是字符串,而不是字符
另外,y[0]
在Java中不能处理字符串,只能处理数组。这可能是你的问题。在
“*”
是字符串,而不是字符
另外,
y[0]
在Java中不能处理字符串,只能处理数组。这可能是您的问题。y[0]用于数组;将y.charAt(0)改为字符串。此外,将其与“”(字符)进行比较,而不是与另一个字符串“”进行比较。y[0]用于数组;将y.charAt(0)改为字符串。此外,将其与“”(字符)进行比较,而不是与另一个字符串进行比较。newY
是一个字符串
,您的方法match
需要一个数组。newY
是一个字符串
,您的方法match
需要一个数组。非常感谢,但是如何在Java字符串newY=y.remove(0,1)中实现这一点;所以我假设您的意思是replace:String newY=y。replace(0,1)不起作用,因为0和1是int。请尝试用字符替换('0','1')。要删除0-1之间的字符串y,然后可以使用substring。如果要删除0和1之间(包括0和1),则需要第二个位置后的字符串;只需做y.substring(2)。如果要在0(包含)和1(独占)之间删除,请执行以下操作:y.charAt(0)+y.substring(2)。非常感谢,但是我如何在Java字符串newY=y.remove(0,1)中执行此操作;所以我假设您的意思是replace:String newY=y。replace(0,1)不起作用,因为0和1是int。请尝试用字符替换('0','1')。要删除0-1之间的字符串y,然后可以使用substring。如果要删除0和1之间(包括0和1),则需要第二个位置后的字符串;只需做y.substring(2)。如果要在0(包含)和1(独占)之间删除,请执行以下操作:y.charAt(0)+y.substring(2)。
if(x.length() == 0 && y.length() > 0 && y[0] == "*")