这里需要一些建议, 我正在尝试编码 创建一个包含任意六个名字的字符串数组。 使用增强的for循环打印数组中的每个名称 这就是我所拥有的:
public class names {
private static String[] arrayString;
private static String[] names;
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
String[][]firstnames={
{"John", "Mary", "Harry", "Ray", "Sean", "Matthew" },
};
for (int row=0;row<firstnames.length;row++){
for(int col=0; col<firstnames[row].length; col++){
System.out.print(firstnames[row][col]+ " ");
System.out.println();
}
}
}
}
我被告知你已经使用了固定值来表示循环上的条件而不是数组的长度。
最好使用阵列的长度进行维护等
我花了很长时间试图弄清楚我哪里出错了,据我所知,我已经回答了这个问题。有人能指出我正确的方向吗?
答案 0 :(得分:2)
如果我理解你的问题,那么我认为你想用这样的增强foreach循环做一些事情,
String[] firstNames = {"John", "Mary", "Harry", "Ray", "Sean", "Matthew" };
for (String name : firstNames) {
System.out.println(name);
}
根据javadoc链接,
当你看到冒号(:)将其读作“in”时,上面的循环读作“对于c中的每个TimerTask t”。正如你所看到的,for-each构造与泛型完美结合。它保留了所有类型的安全性,同时消除了剩余的杂乱。因为您不必声明迭代器,所以您不必为它提供通用声明。 (编译器会在你背后为你做这件事,但你不必担心它。)