📖 Scenario: You are managing a list of daily temperatures recorded in a week. You want to add the temperature of the next day at the end of this list.
🎯 Goal: Build a Java program that creates an array of temperatures, sets up the next day's temperature, inserts it at the end of the array, and prints the updated array.
📋 What You'll Learn
Create an integer array called temperatures with the values 20, 22, 19, 24, 21
Create an integer variable called nextDayTemp and set it to 23
Create a new integer array called updatedTemperatures that can hold all old temperatures plus the new one
Copy all values from temperatures to updatedTemperatures
Insert nextDayTemp at the end of updatedTemperatures
Print the updatedTemperatures array values separated by spaces
💡 Why This Matters
🌍 Real World
Adding new data points to a fixed-size list, like daily temperatures, sales numbers, or sensor readings.
💼 Career
Understanding array manipulation is fundamental for programming jobs that involve data processing and algorithm implementation.
Progress0 / 4 steps
1
Create the initial array
Create an integer array called temperatures with these exact values: 20, 22, 19, 24, 21
DSA Java
Hint
Use curly braces {} to list the values inside the array.
2
Set the next day's temperature
Create an integer variable called nextDayTemp and set it to 23
DSA Java
Hint
Use int nextDayTemp = 23; to create the variable.
3
Create new array and insert the new temperature
Create a new integer array called updatedTemperatures with length one more than temperatures.length. Then use a for loop with variable i from 0 to temperatures.length - 1 to copy each value from temperatures to updatedTemperatures. Finally, set the last element of updatedTemperatures to nextDayTemp
DSA Java
Hint
Remember arrays have fixed size, so create a new bigger array and copy old values.
4
Print the updated array
Use a for loop with variable i from 0 to updatedTemperatures.length - 1 to print each value of updatedTemperatures[i] followed by a space
DSA Java
Hint
Use System.out.print inside the loop to print values on the same line.
Practice
(1/5)
1. What happens when you insert an element at the end of a fixed-size array in Java without resizing?
easy
A. The insertion throws an error if the array is full
B. The element is added at the next free position if available
C. The array automatically resizes to fit the new element
D. The element replaces the last element if the array is full
Solution
Step 1: Understand fixed-size array behavior
Java arrays have a fixed size and cannot grow automatically. Attempting arr[size] where size == length throws ArrayIndexOutOfBoundsException.
Step 2: Inserting at end when full
Standard insertion arr[size++] = element; if full (size == arr.length), accesses arr[length] and throws runtime error.
Final Answer:
The insertion throws an error if the array is full -> Option A
Quick Check:
Fixed-size array throws error when full [OK]
Hint: Fixed arrays don't resize; throws error if full [OK]
Common Mistakes:
Assuming arrays resize automatically
Thinking insertion overwrites last element
Believing new element is added beyond array size
2. Which of the following is the correct syntax to insert an element at the end of an array in Java if the array has space?
easy
A. arr[size] = newElement; size++;
B. arr[arr.length - 1] = newElement;
C. arr[arr.length] = newElement;
D. arr.add(newElement);
Solution
Step 1: Understand array indexing and size tracking
Arrays use zero-based indexing; last index is length-1. We track current size separately.
Step 2: Insert element at next free position
Use size as index to insert, then increment size to reflect new element count.
Final Answer:
arr[size] = newElement; size++; -> Option A
Quick Check:
Use size as index and increment after insertion [OK]
Hint: Use size variable as index, then increment size [OK]
Common Mistakes:
Using arr.length as index (out of bounds)
Trying to use arr.add() which is for lists
Overwriting last element without size tracking
3. What will be the output of the following Java code?
int[] arr = new int[5];
int size = 0;
arr[size++] = 10;
arr[size++] = 20;
arr[size++] = 30;
System.out.print(java.util.Arrays.toString(arr));
medium
A. [10, 20, 30]
B. [10, 20, 30, 0, 0]
C. [10, 20, 30, 30, 30]
D. [0, 10, 20, 30, 0]
Solution
Step 1: Trace insertions with size increment
Elements 10, 20, 30 are inserted at indexes 0, 1, 2 respectively; size increments after each insertion.
Step 2: Understand default array values
Remaining positions (indexes 3 and 4) remain 0 as default for int arrays.
Final Answer:
[10, 20, 30, 0, 0] -> Option B
Quick Check:
Inserted elements at start; rest are zeros [OK]
Hint: Inserted elements fill start; rest remain default zero [OK]
Common Mistakes:
Assuming array shrinks to inserted elements only
Confusing index positions
Expecting uninitialized elements to be null
4. Identify the error in the following code that tries to insert an element at the end of an array:
int[] arr = new int[3];
int size = 3;
arr[size] = 5;
medium
A. Compilation error due to wrong syntax
B. No error; element inserted at the end
C. ArrayIndexOutOfBoundsException because size equals array length
D. Logical error; element overwrites first element
Solution
Step 1: Check array size and index used
Array length is 3, valid indexes are 0,1,2. Using index 3 causes error.
Step 2: Understand runtime exception
Accessing arr[3] throws ArrayIndexOutOfBoundsException at runtime.
Final Answer:
ArrayIndexOutOfBoundsException because size equals array length -> Option C
Quick Check:
Index equals length causes runtime error [OK]
Hint: Index must be less than array length to avoid error [OK]
Common Mistakes:
Assuming index == length is valid
Expecting compile-time error instead of runtime
Ignoring size variable correctness
5. You have an integer array of size 4: int[] arr = {1, 2, 3, 4}; and a variable size = 4;. You want to insert 5 at the end but the array is full. Which approach correctly adds 5 at the end without losing existing data?
hard
A. Overwrite arr[3] with 5 directly
B. Increase size variable to 5 and assign arr[4] = 5
C. Use arr[size] = 5 without resizing
D. Create a new array of size 5, copy old elements, then add 5 at index 4
Solution
Step 1: Recognize fixed array size limitation
Original array size is 4; cannot add element beyond index 3 without resizing.
Step 2: Create new larger array and copy elements
Create new array of size 5, copy existing elements, then insert 5 at index 4.
Final Answer:
Create a new array of size 5, copy old elements, then add 5 at index 4 -> Option D
Quick Check:
Resize by new array and copy before insertion [OK]
Hint: Resize array by copying before adding new element [OK]
Common Mistakes:
Trying to insert without resizing
Overwriting last element losing data
Assuming size variable controls array length
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.