第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

編寫一個需要查看字符串并判斷兩個字母是否相鄰的方法

編寫一個需要查看字符串并判斷兩個字母是否相鄰的方法

函數(shù)式編程 2021-10-06 10:38:31
我正在為學校做一個實驗室,這些是說明:“編寫一個程序來查看一個字符串是否包含另一個特定字母旁邊的特定字母。”這是示例數(shù)據(jù):要輸入的示例數(shù)據(jù):chicken a bfrog f gchicken c kapluscompsci a sapluscompsci a papluscompsci s capluscompsci c p這是示例輸出:falsefalsetruefalsetruetruefalse到目前為止,這是我的代碼: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" ) );    }}出于某種原因,它一直顯示第一個字符串樣本為假(這應該發(fā)生),但對于第二個字符串樣本,字符串索引超出 -1 的范圍,我不知道如何解決這個問題。感謝您的任何幫助!
查看完整描述

3 回答

?
SMILET

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


查看完整回答
反對 回復 2021-10-06
?
智慧大石

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;


}


查看完整回答
反對 回復 2021-10-06
?
慕容森

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);

    }

}


查看完整回答
反對 回復 2021-10-06
  • 3 回答
  • 0 關注
  • 323 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號