A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张浮生   /  2015-5-14 16:11  /  3089 人查看  /  51 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. public static void main(String[] args) {
  2.                 //初始化数组,这样初始化试试?
  3.                 int[] a = new int[]{1,2,3,4,5,6,7,8,9,10};
  4.                 //这个样子初始化是初始化了10长度的数组 并不是给这个数组赋值
  5.                 //数组没有初始化数组默认为0
  6.                 int[] b = new int[10];
  7.                 int sum = 0;
  8.                 for (int i = 0; i < a.length; i++)
  9.                 {
  10.                         sum += a[i];
  11.                         //System.out.println(b[i]);
  12.                 }
  13.                 //这样程序正常计算和
  14.                 System.out.println(sum);

  15.         }
复制代码

楼主没有过明白数组如和定义吧。看我上面的代码


QQ截图20150514193530.png (113.13 KB, 下载次数: 23)

QQ截图20150514193530.png
回复 使用道具 举报
  方式1:
  class Dome
    {
      public static void main(String [] args)
      {
         int[] a=new int[10];
         int sum=0;
         for(int i=0;i<=a.length;i++)
         {
            sum+=i;
         }
        System.out.println(sum);
      
      }
    }
方式2:
    class Dome
    {
      public static void main(String [] args)
      {
         int sum=0;
         for(int i=0;i<10;i++)
         {
            sum+=i;
         }
        System.out.println(sum);
      
      }
    }



你要算0到10 没必要用数组吧
回复 使用道具 举报
多看视频 的加油
回复 使用道具 举报
在使用new时候就开辟堆内存,new int[10]代表在数组内开辟了10个int类型的堆内存,而在最内存每个空间必须有值,int类型默认值为0,float类型默认值为0.0f,double类型默认值为0.0,引用型默认值为null,当你没赋值直接使用堆内存中的int类型数组时,运算都是拿0进行运算的
回复 使用道具 举报
                                                        顶
回复 使用道具 举报
结果是零,定义一个数组后,默认值为0.所以结果是零,你需要给数组赋值才能得到你想要的结果
回复 使用道具 举报
因为你的数组都是0

点评

而且这题用错思想,简单的0加到10 ,不用操作脚标  发表于 2015-5-14 21:37
回复 使用道具 举报
。。。。你数组里面没初始化值。。里面a[1]~a[10]里面全是0,你累加了结果当然是0
回复 使用道具 举报
你这。。。。
回复 使用道具 举报
你给的这个数组没有赋值的  所有元素都是0加起来果断还是零撒
回复 使用道具 举报
你数组里根本没元素,就是说定义了却没初始化,元素是基本数值型的数组,默认元素值都是0,所以你只是加了10个0
回复 使用道具 举报
gaoer 中级黑马 2015-5-14 22:09:42
32#
int [10]  值呢 、》?
回复 使用道具 举报
十个零相加当然是零
回复 使用道具 举报
a里面没有数值啊,你只给了长度。。。怎么能用a[i]遍历。。。
回复 使用道具 举报
都没赋值,数组的值都是默认的0,不管怎么加都是0
回复 使用道具 举报
for(int i=0;i<a.length;i++){
a=i;
用这一句给你的数组赋值下,
回复 使用道具 举报
class Dome
{
  public static void main(String [] args)
  {
     int[] a=new int[10];
     int sum=0;
     for(int i=0;i<=a.length;i++)//0加到10,那就要包括10,改为 i<=a.length
     {
        a[i]=i;//增加这一句  
        sum+=a[i];
     }
    System.out.println(sum);
   
  }
}
回复 使用道具 举报
张浮生 发表于 2015-5-14 16:23
如果我没理解错的话数组不需要值

是的呀。数组可以不初始化,int类型的数组,默认初始0哟。。所以不管怎么循环都是0相加,结果一定是0了。。
回复 使用道具 举报
hellotaomi 发表于 2015-5-14 22:47
class Dome
{
  public static void main(String [] args)

加的那一句是不是意味着给数组赋值?
回复 使用道具 举报
数组都没有东西。你只是定义了一个int类型的sum
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马