黑马程序员技术交流社区

标题: 下面的代码有问题吗?问什么运行报错啊? [打印本页]

作者: haitianzhilian    时间: 2014-3-7 20:20
标题: 下面的代码有问题吗?问什么运行报错啊?
import java.util.Arrays;
public class FillArray
{
          public static void main(String[] args)  //主方法
         {
              int arr[]=new int[5];   //创建int型数组
              Arrays.fill(arr,7);        //使用同一元素对数组进行填充
              for(int i:arr)              //循环遍历数组中的元素
                {
                   System.out.println("第"+i+"个元素是: "+arr); //将数组中的元素依次输出
                 }
          }
}

作者: 混蛋哥    时间: 2014-3-7 20:26
兄弟呀,仔细看下面这句!
for(int i:arr){
System.out.println("第"+i+"个元素是: "+arr);
}
for(int i:arr)--->>int 元素类型;i元素;arr数组对象,你打印的是arr····把arr改成i就对了!
作者: 天凌蓝    时间: 2014-3-7 20:38
System.out.println("第"+i+"个元素是: "+arr); //将数组中的元素依次输出          这句话错了,因为你是 i 去遍历arr的,所以改成这样:
System.out.println("第"+i+"个元素是: "+i); //将数组中的元素依次输出
作者: 为你而去    时间: 2014-3-7 23:16
首先你用的是高级for循环,遍历方法中 i 不是索引,而是元素,arr是数组地址,所以需要另外定义索引,一下是我的方法,供参考:
public static void main(String[] args)  //主方法
         {
              int arr[]=new int[5];   //创建int型数组
                          Arrays.fill(arr,7);        //使用同一元素对数组进行填充
              int j=0;
              for(int i:arr)              //循环遍历数组中的元素
                {
                                        j++;
                   System.out.println("第"+j+"个元素是: "+i); //将数组中的元素依次输出
                 }
          }
作者: 一诺千金    时间: 2014-3-8 10:58
弄清楚增强for循环每个参数是什么就没问题了,




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