我正在为学校做一个实验室,这些是说明:“编写一个程序来查看一个字符串是否包含另一个特定字母旁边的特定字母。”
这是示例数据:
要输入的示例数据:
chicken a b
frog f g
chicken c k
apluscompsci a s
apluscompsci a p
apluscompsci s c
apluscompsci c p
这是示例输出:
false
false
true
false
true
true
false
到目前为止,这是我的代码:
public class AB
{
public static boolean check( String s, String a, String b)
{
int i;
if(s.indexOf(a) == -1 || s.indexOf(b) == -1)
{
return false;
}
if(s.indexOf(a) != -1 || s.indexOf(b) != -1)
{
for(i = 0; i < s.length() - 1; i++)
{
if(s.substring(s.indexOf(a) - 1,s.indexOf(a)).equals(b) || s.substring(s.indexOf(a) + 1,s.indexOf(a)).equals(b) || s.substring(s.lastIndexOf(a) - 1,s.indexOf(a)).equals(b) || s.substring(s.lastIndexOf(a) + 1,s.indexOf(a)).equals(b));
{
return true;
}
}
}
return false;
}
}
这是我的跑步者的样子:
public class AplusRunner
{
public static void main( String args[] )
{
System.out.println( AB.check( "chicken", "a", "b" ) );
//add more cases
System.out.println( AB.check( "frog", "f", "g" ) );
System.out.println( AB.check( "chicken", "c", "k" ) );
System.out.println( AB.check( "apluscompsci", "a", "s" ) );
System.out.println( AB.check( "apluscompsci", "a", "p" ) );
System.out.println( AB.check( "apluscompsci", "s", "c" ) );
System.out.println( AB.check( "apluscompsci", "c", "p" ) );
}
}
出于某种原因,它一直显示第一个字符串样本为假(这应该发生),但对于第二个字符串样本,字符串索引超出 -1 的范围,我不知道如何解决这个问题。感谢您的任何帮助!
SMILET
智慧大石
慕容森
相关分类