需要针对每个和java数组的hlelp

需要针对每个和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; } 改变 到 通过使用

编写一个静态方法调用longCount,它被传递一个字符串数组,并返回数组中长度超过10个字符的字符串数(因此方法返回类型为int)。您必须为解决方案中的每个循环使用一个

这是我提出的,尽管我提交时它还没有编译

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) {