题目: 二维数组的查找
在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数输入。
思路
1.先进行二位维数组的遍历:二维数组可以理解为一个数组中的每个元素都是一个数据,即运用二次foreach 即可完成二维数组的遍历
2.进行元素的比较
public boolean Find (int target,int[][] array) {
for (int[] arrays: array) {
for (int a:arrays) {
if (a == target) {
return true;
}
}
}
return false;
}
题目 替换空格
请实现一个函数,将一个字符串中的每个空格替换成“%20”。
思路 本题我想到了二个思路一个是用String和StingBuffer 的方法去实现 ,一个是用StringBuilder来作为容器
1.先调用toString 将StingBuffer 变为String 类型 再调用String中 replaceAll 方法
public String replaceSpace(StringBuffer str) {
return str.toString().replaceAll(" ","%20");
}
- 创建一个StringBuilder对象(存储新字符串的容器),然后遍历StringBuffer每个字符,
然后是空格就往StringBuilder对象里添加想要替换的字符串,如果没有的话 就把这个字符添加到StringBuilder对象中 ,
最后将对象变为String类型即可
private String replaceSpace(StringBuffer str) {
StringBuilder stringBuilder = new StringBuilder();
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i); //将str中每个字符提取出来
if (c==' '){
stringBuilder.append("%20");
} else {
stringBuilder.append(c);
}
}
return stringBuilder.toString();
}