Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Learn Using Loops with Arrays | Arrays
Java Basics

book
Using Loops with Arrays

How to iterate through an array using loops?

Arrays and loops are frequently used in tandem. When dealing with a large array containing 100 or even 1000 elements, manually working with and extracting each element would be impractical. Just imagine how time-consuming it would be to manually fill such an array...

To achieve such tasks, we'll employ loops. In the previous section, we observed that we initially assigned the variable i a value of 0 in the for loop, and array indexing also starts at 0.

Let's say we have a task to display all the elements of an array of type char with a length of 10. Let's examine a code fragment that accomplishes this task:

java

Main

copy
package com.example;

public class Main {
public static void main(String[] args) {
// Initializing a char array
char[] charArray = {'c', 'o', 'd', 'e', 'f', 'i', 'n', 'i', 't', 'y'};
// Printing the array using a for-loop
for (int i = 0; i < charArray.length; i++) {
System.out.print(charArray[i]);
}
}
}
12345678910111213
package com.example; public class Main { public static void main(String[] args) { // Initializing a char array char[] charArray = {'c', 'o', 'd', 'e', 'f', 'i', 'n', 'i', 't', 'y'}; // Printing the array using a for-loop for (int i = 0; i < charArray.length; i++) { System.out.print(charArray[i]); } } }

Let's take a closer look at how the loop iterates over an array:

java

Main

copy
package com.example;

public class Main {
public static void main(String[] args) {
// Initializing the char array
char[] charArray = {'c', 'o', 'd', 'e', 'f', 'i', 'n', 'i', 't', 'y'};
// Printing the array using a for-loop
for (int i = 0; i < charArray.length; i++) {
System.out.println("Now variable i = " + i + ", and value of charArray[" + i + "] = " + charArray[i] + ";");
// The value of `i` increments with each loop iteration
}
}
}
1234567891011121314
package com.example; public class Main { public static void main(String[] args) { // Initializing the char array char[] charArray = {'c', 'o', 'd', 'e', 'f', 'i', 'n', 'i', 't', 'y'}; // Printing the array using a for-loop for (int i = 0; i < charArray.length; i++) { System.out.println("Now variable i = " + i + ", and value of charArray[" + i + "] = " + charArray[i] + ";"); // The value of `i` increments with each loop iteration } } }
Task

Swipe to start coding

We have an array with the hours worked by an employee over a number of days. You need to calculate the average number of hours per day and provide feedback based on the result.

  1. Create a method called calculateAverage(int[] workHours) that returns a double.
  2. Inside this method:
    • Determine the length of the array and store it in a variable (e.g., sizeMassive).
    • Use a for loop to iterate over each element of the array.
    • Accumulate the total number of hours into a variable totalHours.
    • After the loop, compute the average by dividing totalHours by the size of the array, casted to double.

Solution

java

solution

package com.example;

public class Main {
public static double calculateAverage(int[] workHours) {
int sizeMassive = workHours.length;
int totalHours = 0;

for (int i = 0; i < sizeMassive; i++) {
totalHours += workHours[i];
}

return totalHours / (double) sizeMassive;
}
public static void main(String[] args) {
int[] workHours = {7, 8, 6, 9, 7, 7, 8, 7, 6, 9};
double average = calculateAverage(workHours);

if (average < 8) {
System.out.println("Penalty: employee worked " + average + " hours on average.");
} else {
System.out.println("Good job! Employee worked " + average + " on average.");
}
}
}
Everything was clear?

How can we improve it?

Thanks for your feedback!

Section 4. Chapter 2
package com.example;

public class Main {
public static double calculateAverage(int[] workHours) {
int sizeMassive = ___;
int totalHours = 0;

for (___) {
totalHours += ___;
}

return ___;
}
public static void main(String[] args) {
int[] workHours = {7, 8, 6, 9, 7, 7, 8, 7, 6, 9};
double average = calculateAverage(workHours);

if (average < 8) {
System.out.println("Penalty: employee worked " + average + " hours on average.");
} else {
System.out.println("Good job! Employee worked " + average + " on average.");
}
}
}

toggle bottom row
some-alt