3 回答

TA貢獻1796條經(jīng)驗 獲得超4個贊
我覺得你做了一個不必要的驗證檢查,你可以簡化如下。抱歉沒有為參數(shù)使用有意義的名稱。嘗試從您的角度重新實現(xiàn)這一點。
public class AB {
public static boolean isConsecutive(String s, String a, String b) {
return s.indexOf(a + b) != -1;
}
public static void main(String args[]) {
System.out.println(AB.isConsecutive("chicken", "a", "b"));
System.out.println(AB.isConsecutive("frog", "f", "g"));
System.out.println(AB.isConsecutive("chicken", "c", "k"));
System.out.println(AB.isConsecutive("apluscompsci", "a", "s"));
System.out.println(AB.isConsecutive("apluscompsci", "a", "p"));
System.out.println(AB.isConsecutive("apluscompsci", "s", "c"));
System.out.println(AB.isConsecutive("apluscompsci", "c", "p"));
}
}
輸出 :
false
false
true
false
true
true
false

TA貢獻1946條經(jīng)驗 獲得超3個贊
String 類已經(jīng)提供了許多實用方法來執(zhí)行多個操作,為什么不使用它們而不是重新發(fā)明輪子呢?只需將您的方法更改為
public static boolean check (String s, String a, String b) {
// check if combination of both strings (a+b) are present in 's'
return (s.contains(a+b)) ? true : false;
}

TA貢獻1853條經(jīng)驗 獲得超18個贊
您可以通過組合各個字母并檢查它們的索引來簡單地創(chuàng)建一個臨時字符串。這段代碼應該適合你。
import java.util.*;
public class Letters{
private static boolean CheckConsecutiveLetters(String str, String l1, String l2)
{
int index_l1 = str.indexOf(l1);
String temp = l1 + l2;
System.out.println(temp);
if(str.indexOf(temp) >= 0)
{
return true;
}
return false;
}
public static void main(String[] args)
{
boolean output = CheckConsecutiveLetters("chicken", "c", "k" );
System.out.println(output);
}
}
添加回答
舉報