【问题标题】:Why i can get only last element of array outside while loop为什么我只能在while循环之外获取数组的最后一个元素
【发布时间】:2018-09-21 23:13:10
【问题描述】:

为什么我在 while 循环之外只得到数组的最后一个元素?我如何在循环外获取数组中的所有元素?

for(i=0;i<N;i++)
       {
           while(s.hasNext() && s2.hasNext())
           {
               String xx= s.next();
               String yy= s2.next(); double val1 = Double.parseDouble(xx);
               double val2 = Double.parseDouble(yy);
               x[i]=val1;
               y[i]=val2; 
               //not work
               result=DoConv(x, y, M, L, N);
               System.out.println(result[i]);
           }


       }

   }
   else
   {
       System.out.println("Different number of elements in file.");
   }
   for(i=0;i<3;i++)
   {
       // prints only last element
       System.out.println(x[i]);

   }

【问题讨论】:

  • 在调试器中单步调试代码时看到了什么?
  • 发布完整的内容,以便有人可以复制粘贴。

标签: java arrays io


【解决方案1】:

因为索引 i 没有更新。 我假设您正在获取整个数组的最后一个元素。 你也需要在 while 循环中增加 i

【讨论】:

    【解决方案2】:

    您是否在此处缺少数组索引。

    这个

    result=DoConv(x, y, M, L, N);
    

    应该是:

    result[i]=DoConv(x, y, M, L, N);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-13
      • 2021-07-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-13
      • 2020-07-31
      • 2023-01-11
      相关资源
      最近更新 更多