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

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

拆分和比較一個字符串(Java)

拆分和比較一個字符串(Java)

慕容3067478 2021-05-07 14:23:28
我已經(jīng)測試了一段時間的不同方法,這就是我得到的。我只是不知道如何解決這個問題。/** Return true iff s has an odd number of characters and *  the substring before the middle character equals the substring *  after it. * Examples: For s = "" return false * For s = "b" return true * For s = "xbx" return true * For s = "xxxx" return false * For s = "hellohello" return false * For s = "hello!hello" return true */public static boolean isDoubled(String s) {    // TODO 1. There is no need for a loop. Do not use a loop.    // In all methods, use s1.equals(s2) and NOT s1 == s2 to test    // equality of s1 and s2.    int midLen = s.length() / 2;    if (midLen == 0) return false;    String[] parts = {s.substring(0, midLen - 1), s.substring(midLen + 1)};    String part1 = parts[0];    String part2 = parts[1];    if ((s.length() % 2 == 0) && (part1.equals(part2))) {        return true;    }    return false;}
查看完整描述

3 回答

?
HUWWW

TA貢獻1874條經(jīng)驗 獲得超12個贊

您在使用substring函數(shù)時有錯誤:


public static boolean isDoubled(String s) {

    if (s.length() % 2 == 0)

        return false;

    if (s.length() == 1)

        return true;


    int mid = s.length() / 2;

    return s.substring(0, mid).equals(s.substring(mid + 1));

}


查看完整回答
反對 回復(fù) 2021-05-19
?
森林海

TA貢獻2011條經(jīng)驗 獲得超2個贊

當(dāng)您將兩個索引(a,b)傳遞給子字符串方法時,該方法包括索引,但不包括索引b。從數(shù)學(xué)上講,它是[a,b)。如果您考慮字符串“ hello!hello”,那么mid將是索引5。當(dāng)您說-


String[] parts = {s.substring(0, midLen - 1), s.substring(midLen + 1)};

您得到的兩個部分是


s.substring(0, 4) //this gets you the string "hell"

s.substring(6)    //this gets you the string "hello"

顯然,它們不匹配。導(dǎo)致錯誤的對等。


您需要做一個小改動-


String[] parts = {s.substring(0, midLen), s.substring(midLen + 1)};


查看完整回答
反對 回復(fù) 2021-05-19
?
ibeautiful

TA貢獻1993條經(jīng)驗 獲得超6個贊

兩個簡單的錯誤:

  • 在你的if-statement你如果長度甚至,當(dāng)你想,以確保它是不是連。(更改(s.length() %2===0)!(s.length() %2 == 0)

  • 而且該substring功能不具有包容性,因此您想更改s.substring(0, mid-1)s.substring(0, mid)

    (從docs中:“子字符串從指定的beginIndex開始,并擴展到索引endIndex-1處的字符。 ”)

同樣,您不需要將in的兩個部分array放入變量中。您可以簡單地將它們進行比較,例如: parts[0].equals(parts[1])


查看完整回答
反對 回復(fù) 2021-05-19
  • 3 回答
  • 0 關(guān)注
  • 263 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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