需要针对每个和java数组的hlelp
编写一个静态方法调用longCount,它被传递一个字符串数组,并返回数组中长度超过10个字符的字符串数(因此方法返回类型为int)。您必须为解决方案中的每个循环使用一个 这是我提出的,尽管我提交时它还没有编译需要针对每个和java数组的hlelp,java,Java,编写一个静态方法调用longCount,它被传递一个字符串数组,并返回数组中长度超过10个字符的字符串数(因此方法返回类型为int)。您必须为解决方案中的每个循环使用一个 这是我提出的,尽管我提交时它还没有编译 public static int longCount(int[] data){ int count = 0; for(int n : data){ if(data[n]>10) count++; } return count; } 改变 到 通过使用
public static int longCount(int[] data){
int count = 0;
for(int n : data){
if(data[n]>10)
count++;
}
return count;
}
改变
到
通过使用,您可以获得值(而不是索引)。您的方法应该接受
字符串[]
,而不是int[]
。这可能是导致编译器错误的原因(但很难说,因为您没有报告错误消息。)此外,数组的for
-each
循环将循环变量绑定到每个数组值,而不是每个索引。我将您的方法改写为:
public static int longCount(String[] data) {
int count = 0;
for (String s : data){
if (s.length() > 10) {
count++;
}
}
return count;
}
为了防止数组元素为“代码> null <代码>,您可以考虑将<代码>如果条件更改为
if (s != null && s.length() > 10) {
如果(数据[n]>10)
您不需要数据[n]
这里,您需要n
n
不是数组的索引,它是数组中的一个元素。您的方法应该接受字符串[]
,而不是int[]
,如果将n
用作循环的索引,则数据[n]
会起作用。Edit:Derp,它不会抛出编译错误,只是一个错误的结果(如果n<0,则会出现索引越界异常)。您甚至不会告诉我们编译器错误消息。这可能是真的,但不会导致编译错误。
public static int longCount(String[] data) {
int count = 0;
for (String s : data){
if (s.length() > 10) {
count++;
}
}
return count;
}
if (s != null && s.length() > 10) {