我試圖解決這個問題CodingBat(。)如果給定的字符串包含在XYZ不是直接由一段preceeded「XYZ」的外觀如果字符串cointains「xyz」前面沒有句點,返回true?
,則返回true。所以「xxyz」數,但「x.xyz」不。
xyzThere("abcxyz") → true
xyzThere("abc.xyz") → false
xyzThere("xyz.abc") → true
我嘗試:
public boolean xyzThere(String str) {
boolean res = false;
if(str.contains(".xyz") == false && str.contains("xyz")){
res = true;
}
return res;
}
的問題是,是通過除了下面的一個,因爲它包含XYZ的兩個實例所有測試:
xyzThere("abc.xyzxyz")
我怎樣才能讓它通過所有測試?
你爲什麼要使用'for'循環,完全無視'i'?對於字符串中的每個字符,你都會一遍又一遍地重複同樣的事情。什麼_should_'xyzThere(「abc.xyzxyz」)'返回? – 2013-04-08 19:53:59
你提到的測試用例的結果應該是什麼?它通過與否? – nommyravian 2013-04-08 19:55:57
根據你的哲學傾向,回答'xyzThere(「abc.xyzxyz」)'可能是'true'或'false',除非問題指出是否只檢查第一次出現的'xyz' /'。xyz'。另外,不要使用'str.contains(「。xyz」)== false',而是使用'!str.contains(「。xyz」)'。並且,放下'for'循環。 – 2013-04-08 19:55:58