- 戒驕戒躁!
- 不要小看任何一個知識點!
書寫一個類,類名爲Itheima;
類中有一個方法,方法名bobThere;
給你一個字符串,若是包含bob就返回true
注意若是bob中的字符o,能夠是任何字符
例如:bob返回true, bpb返回true正則表達式
方法調用 | 指望值 |
---|---|
bobThere("abcbob") | true |
bobThere("b9b") | true |
bobThere("bac") | false |
public class Itheima { public boolean bobThere(String str){ String regex = "b.b"; Pattern p = Pattern.compile(regex); Matcher m = p.matcher(str); if (m.find()) { return true; } else { return false; } } }
書寫一個類,類名爲Itheima;類中有一個方法,方法名countYZ;數組
給定一個字符串,找出裏面以「y」或者「z」結尾的單詞的個數,也就是說,跟在「y」或者「z」後面的字符不是英文單詞。
「y」在「heavy」中和「z」在「fez」中計數,而「y」在「yellow」中不計數,(不區分大小寫)app
方法調用 | 指望值 |
---|---|
countYZ("fez day") | 2 |
countYZ("day fez") | 2 |
countYZ("day fyyyz") | 2 |
public class Itheima { public int countYZ(String str){ int count = 0; String str1 = str + " "; char[] c = str1.toCharArray(); for (int i = 0; i < c.length - 1; i++) { if(c[i] == 'y' || c[i] == 'z' || c[i] == 'Y' || c[i] == 'Z'){ char t = c[i + 1]; if(!((t >= 'a' && t <= 'z') || (t >= 'A' && t <= 'Z'))){ count++; } } } /* if(c[c.length - 1] == 'y' || c[c.length - 1] == 'z' || c[c.length - 1] == 'Y' || c[c.length - 1] == 'Z'){ count++; }*/ return count; } }
書寫一個類,類名爲Itheima;
類中有一個方法,方法名makePi;
返回一個包含pi(參考Math.PI)的前n位數字的整數數組長度,n爲方法接收的參數。
例如:n爲3,則返回{3,1,4}。oop
方法調用 | 指望值 |
---|---|
makePi(1) | [3] |
makePi(2) | [3,1] |
makePi(3) | [3,1,4] |
public class Itheima { public int[] makePi(int n) { String str = Math.PI + ""; String str2 = str.replaceAll("\\.", ""); int[] arr = new int[n]; for (int i = 0; i < n; i++) { arr[i] = Integer.parseInt(str2.charAt(i)+""); } return arr; /*int[] arr = new int[n]; for (int i = 0; i < n; i++) { arr[i] = (int) (Math.PI * Math.pow(10, i) % 10); } return arr;*/ } }
書寫一個類,類名爲Itheima;code
類中有一個方法,方法名gHappy;索引
若是字符串中的’g’的相鄰左邊或者右邊有另一個’g’,則’g’在這個字符串中是happy的,
若是字符串中全部的’g’都是happy的則返回true,不然返回false。rem
方法調用 指望值
gHappy("xxggxx") true
gHappy("xxgxx") false
gHappy("xxggyygxx") false字符串
public class Itheima { public boolean gHappy(String str){ boolean sumFlag = true; boolean flag = true; boolean hasG = false; String newStr = " " + str + " "; for (int i = 1; i < newStr.length() - 1; i++) { char cBefore = newStr.charAt(i - 1); char c = newStr.charAt(i); char cLater = newStr.charAt(i + 1); if(c == 'g'){ if(c == cBefore || c == cLater){ flag = true; } else { flag = false; } hasG = true; } sumFlag = sumFlag && flag; } return sumFlag && hasG; } }
書寫一個類,類名爲Itheima;get
類中有一個方法,方法名maxBlock;string
給定一個字符串,返回該字符串中連續出現個數最多的字符的數量。
方法調用 | 指望值 |
---|---|
maxBlock("hoopla") | 2 |
maxBlock("abbCCCddBBBxx") | 3 |
maxBlock("") | 0 |
int count = 1;//用於做爲中間變量,記錄正在遍歷的字符的個數 HashMap<Character,Integer> map = new HashMap<>();//Key:字符 Value:最大連續出現次數 for (int i = 0; i < str.length() - 1; i++) { char c1 = str.charAt(i); char c2 = str.charAt(i + 1); map.put(c1,count); if(c1 == c2){ count++; if(count > map.get(c1)){ map.put(c1, count); } } else { count = 1; } } int totalMax = 0; for (Character c : map.keySet()) { if(map.get(c) >= totalMax){ totalMax = map.get(c); } } return totalMax;
書寫一個類,類名爲Itheima;
類中有一個方法,方法名sum13;
有一個整型數組,返回的結果是數組全部元素的總和,若是數組中出現整型數13的時候,
那麼元素13和13後面的一個元素也不計入總和裏面。
方法調用 | 指望值 |
---|---|
sum13([1,2,2,1]) | 6 |
sum13([1,1]) | 2 |
sum13([1,2,2,1,13]) | 6 |
public class Itheima { public int sum13(int[] arr){ HashSet<Integer> hs = new HashSet<>(); int sum = 0; for (int i = 0; i < arr.length; i++) { if(arr[i] == 13){ hs.add(i); hs.add(i + 1); } } for(int i = 0; i < arr.length; i++){ if(hs.contains(i)){ continue; } sum += arr[i]; } return sum;
書寫一個類,類名爲Itheima;
類中有一個方法,方法名sum67;
有一個整型數組,返回數組中的數字的總和,若是數組含有數6和7
那麼忽略不計入從6開始並延伸到有7的數字段,7後面的數字須要參與運算(每6個將跟隨至少一個7)。
返回0表示沒有數字。
方法調用 | 指望值 |
---|---|
sum67([1,2,2]) | 5 |
sum67([1,2,2,6,99,99,7]) | 5 |
sum67([1,1,6,7,2]) | 4 |
public class Itheima { public int sum67(int[] arr){ boolean switch67 = true; boolean sumFlag = true; int sum = 0; for (int i = 0; i < arr.length; i++) { if(arr[i] == 6 && switch67){ switch67 = false; sumFlag = false; } if(arr[i] == 7 && !switch67){ switch67 = true; sumFlag = true; sum -= 7; } if(sumFlag){ sum += arr[i]; } } return sum;
書寫一個類,類名爲Itheima;
類中有一個方法,方法名withoutString;
給定兩個字符串參數base和remove,返回刪除了remove字符串的base字符串(不區分大小寫),
而且返回的base字符串不含有remove的重疊事例。
例如:("This is a FISH", "IS") -> "Th a FH" (注意Th和a之間有兩個空格哦)
注意: 指望值裏的一個空格能夠表明多個空格.
方法調用 | 指望值 |
---|---|
withoutString("Hello there","llo") | "He there" |
withoutString("Hello there","e") | "Hllo thr" |
withoutString("Hello there","x") | "Hello there" |
public class Itheima { public String withoutString(String base,String remove){ for (int i = 0; i < base.length() - remove.length(); i++) { String str = base.substring(i,remove.length()+ i); if(str.equalsIgnoreCase(remove)){ base = base.replace(str, ""); } } return base;