AP计算机教程6-6:数组注意事项
在处理数组的所有元素时,需要注意索引开始于0
而结束于arrayName.length - 1
。需要极力避免数组越界的情况,即使用负数作为索引或者大于等于数组长度的数作为索引。
此外,在数组中寻找值时需要避免过早跳出循环。以下method使用return
语句来终止method的执行并将结果返回至调用者。如果return
语句带有返回值,其需要与method签名的返回类型一致。返回类型为void
的method不能有任何返回值,但可以有一至多个return
语句作为method执行的结束点。
public class StringWorker { private String[ ] arr = {"Hello", "Hey", "Good morning!"}; public int findString(String target) { String word = null; for (int index = 0; index < arr.length; index++) { word = arr[index]; if (word.equals(target)) { return index; } else return -1; } return -1; } public static void main(String[] args) { StringWorker sWorker = new StringWorker(); System.out.println(sWorker.findString("Hey")); } }
以上的代码犯了什么错误?在循环的一开始它先从索引为0
的元素入手并检查对应的字符串元素是否与传入的参数相等。如果两者有相同的字符和同样的顺序会返回0
,否则则返回-1
。但是这段代码也只能处理数组的第一个元素。需要做怎样的修改可以让它在返回结果前比较更多的数组元素?
0 条评论