Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

I need help with this question: Write a loop that subtracts 1 from each element

ID: 3873589 • Letter: I

Question

I need help with this question:

Write a loop that subtracts 1 from each element in lowerScores. If the element was already 0 or negative, assign 0 to the element. Ex: lowerScores = {5, 0, 2, -3} becomes {4, 0, 1, 0}.

Here's what I have:

public class StudentScores {
   public static void main (String [] args) {
      final int SCORES_SIZE = 4;
      int[] lowerScores = new int[SCORES_SIZE];
      int i = 0;

      lowerScores[0] = 5;
      lowerScores[1] = 0;
      lowerScores[2] = 2;
      lowerScores[3] = -3;

      if (lowerScores[i]>0){
         lowerScores[i]=lowerScores[i]-1;}
        
         else {lowerScores[i]=0;}
     
      for (i = 0; i < SCORES_SIZE; ++i) {
         System.out.print(lowerScores[i] + " ");
      }
      System.out.println();

      return;
   }
}

I get this error:

X Testing for lowerScores 5, 0, 2,-3 Your output 40 3 Expected output 4010 X Test aborted

Explanation / Answer

StudentScores.java

public class StudentScores {
public static void main(String[] args) {
final int SCORES_SIZE = 4;
int[] lowerScores = new int[SCORES_SIZE];

lowerScores[0] = 5;
lowerScores[1] = 0;
lowerScores[2] = 2;
lowerScores[3] = -3;

/* This loop will reduce 1 from the element from the array
* if the element is greater than 0 else make that element 0
*/
for (int i = 0; i < lowerScores.length; i++) {
if (lowerScores[i] > 0) {
lowerScores[i] = lowerScores[i] - 1;
} else {
lowerScores[i] = 0;
}
}

//Displaying the elements
for (int i = 0; i < SCORES_SIZE; ++i) {
System.out.print(lowerScores[i] + " ");
}
System.out.println();
return;
}
}

_________________

Output:

4 0 1 0


_____________Could you rate me well.Plz .Thank You