首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用其他元素的数组元素的Java修改-zybooks

使用其他元素的数组元素的Java修改-zybooks
EN

Stack Overflow用户
提问于 2017-10-15 09:29:23
回答 1查看 3.1K关注 0票数 0

我对zybooks with language in Java中的7.7章有问题。挑战活动如下所述:

编写一个循环,将每个数组元素设置为自身和下一个元素之和,但最后一个元素保持不变。注意不要超出最后一个元素的索引。例如:

初始分数: 10,20,30,40

循环后得分: 30,50,70,40

第一个元素是30或10 + 20,第二个元素是50或20 + 30,第三个元素是70或30 + 40。最后一个元素保持不变。

这是它提供的代码和我的代码,我会说哪一部分是我的代码:

代码语言:javascript
复制
public class StudentScores {
   public static void main (String [] args) {
      final int SCORES_SIZE = 4;
      int[] bonusScores = new int[SCORES_SIZE];
      int i = 0;

      bonusScores[0] = 10;
      bonusScores[1] = 20;
      bonusScores[2] = 30;
      bonusScores[3] = 40;

      if (SCORES_SIZE==0){
         System.out.println(""); 
      }
      else if (SCORES_SIZE==1){
         bonusScores[i]=bonusScores[i];
      }
      else{
         for (i=0; i<SCORES_SIZE; ++i){
            if (i==3){
               bonusScores[i]=bonusScores[i];  
            }
            else{
               bonusScores[i]=bonusScores[i]+bonusScores[i+1];  
            }
         }
      }


      for (i = 0; i < SCORES_SIZE; ++i) {
         System.out.print(bonusScores[i] + " ");
      }
      System.out.println();

      return;
   }
}

因此,我唯一可以更改的部分是,我的代码在oldscores3部分之后开始,在else语句之后结束。所以我的问题是这个程序对我的代码做了什么:

测试bonusScores = {10,20,30,40}您的输出30 50 70 40检查

测试bonusScores = { 199 }您的输出199检查

运行时错误程序未结束。这通常是由于无效的存储器/数组访问或除以0造成的。

因此,我不知道它在做什么,是什么导致了运行时错误,因此我显然不知道作为结果该做什么。如果有人通过了这个,请让我知道。我知道有一条线索是这样的:

Copying and modifying array elements

然而,这个线程不同于我的线程,因为那实际上是我刚刚在没有那个线程的帮助下完成的那个线程。所以请不要在不可能的时候重复说可能的话。提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2019-02-21 10:17:42

代码语言:javascript
复制
public class StudentScores {
    public static void main (String [] args) {
        final int SCORES_SIZE = 4;
        int[] bonusScores = new int[SCORES_SIZE];
        int i;

        bonusScores[0] = 10;
        bonusScores[1] = 20;
        bonusScores[2] = 30;
        bonusScores[3] = 40;

        for(i = 0; i < SCORES_SIZE -1; i++) {
            bonusScores[i] = bonusScores[i] + bonusScores[i+1];
        }
        for (i = 0; i < bonusScores.length; ++i) {
            System.out.print(bonusScores[i] + " ");
        }
        System.out.println();
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46750881

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档