黑马程序员技术交流社区

标题: 为什么foreach不能打印字符串数组? [打印本页]

作者: 贾存双    时间: 2012-7-16 17:19
标题: 为什么foreach不能打印字符串数组?
本帖最后由 贾存双 于 2012-7-16 17:32 编辑

import java.util.regex.* ;
public class SplitDemo{
public static void main(String args[]){
  String str = "A2314B5453C5346D4363E634F323G" ;
  String pat = "\\d+" ;
  Pattern p = Pattern.compile(pat) ;
  String s[] = p.split(str) ;
  for(int i=0;i<s.length;i++){
   System.out.println(s) ;
  }
//for(String i:s){System.out.print(s) ;}为什么不能这样写?
}
}

作者: 黑马刘涛    时间: 2012-7-16 17:22
本帖最后由 黑马刘涛 于 2012-7-16 17:24 编辑

//for(String i:s) {System.out.print(s) ;} 为什么不能这样使用?
System.out.print(i) 哥哥,应该这样写。
格式:for(变量类型 变量名:数组|集合)
{
       ....
}
作者: 程潇    时间: 2012-7-16 17:28
本帖最后由 程潇 于 2012-7-16 17:30 编辑

foreach可以打印字符串数组。
foreach主要就是用于数组容器,字符串数组是可以的。
估计是你一时粗心,格式写错了
作者: 樊占江    时间: 2012-7-16 17:28
foreach 语句为数组或对象集合中的每个元素重复一个嵌入语句组。foreach 语句用于循环访问集合以获取所需信息,但不应用于更改集合内容以避免产生不可预知的副作用。此语句的形式如下:   foreach (type identifier in expression) statement   其中:   type   identifier 的类型。   identifier   表示集合元素的迭代变量。如果迭代变量为值类型,则无法修改的只读变量也是有效的。   expression   对象集合或数组表达式。集合元素的类型必须可以转换为 identifier 类型。请不要使用计算为 null 的表达式。   而应计算为实现 IEnumerable 的类型或声明 GetEnumerator 方法的类型。在后一种情况中,GetEnumerator 应该要么返回实现 IEnumerator 的类型,要么声明 IEnumerator 中定义的所有方法。   statement   要执行的嵌入语句。   事例:   int[] arr = new int[] { 0, 1, 2, 3, 4 };   foreach (int i in arr)   {   Console.Write(i);   }

printin()是个方法
作者: 李东升    时间: 2012-7-16 17:29
foreach格式
  1. for(type variableName:array){
  2. //variableName迭代器自动访问每个元素。
  3. }
复制代码
其中type数组元素或集合元素的类型,variableName是一个形参名,foreach数组元素循环自动将数组元素,集合元素自动赋值给该变量。
:后面的array代表的就是数组名或者集合名。
你输出错了。。错把数组或者集合名输出了。
作者: 贾存双    时间: 2012-7-16 17:31
我会了 谢谢大家 应该是这样写  for(String i:s){System.out.print(i) ;}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2