public class teststring {
public static void main(String args[]) {
int size01=0;
String strings[]= {"string","starting","street","stir","studeng","soft","string"};
for(int n=0;n<8;n++) {
boolean b=strings[n].startsWith("st");
if(b==true) {
size01+=1;
}
}
System.out.println(size01);
}
}
遍历集合时长度不能固定,而应该是从集合对象中获取。
public static void main(String[] args) {
int size01 = 0;
String strings[] = { "string", "starting", "street", "stir", "studeng", "soft", "string" };
for (int n = 0; n < strings.length; n++) {
boolean b = strings[n].startsWith("st");
if (b) {
size01 += 1;
}
}
System.out.println(size01);
System.out.println(strings.length);
}
结果是有6个st开头的词,总共集合数7.
此外boolean类型就是if判断的依据,所以不需要b==true。
你这都没个语法高亮, 确认保存当前文件为 java扩展名的文件了?
下标最多到6吧,循环到7了?
你的数组长度为7,所以越界
public static void main(String[] args) {
int size01 = 0;
String strings[] = { "string", "starting", "street", "stir", "studeng", "soft", "string" };
for (String str : strings) {
if (str.startsWith("st")) {
size01++;
}
}
System.out.println(size01);
}