I need to write a program that asks the user for array size and then the user will input these values. After that, I need to ask the user to remove one of those values and the program will replace it with a zero. SO i need to write an if statement inside a for loop to check if the number the user inputed is found in the array or not the replace it with a zero. However i am required to use a boolean and a flag and im not sure how to do that. so far i got this but does not work.
System.out.println("Enter the value to search and remove: "); // Use your Scanner to get a value for search int valueToRemove = scan.nextInt(); // To search, we can iterate all values, record the index of target (t), // and then shift to the left values from t to the end. boolean isFound = false; for (int i = 0; i < arraySize; i++) { if (i == valueToRemove){ } // Set a flag isFound // if (isFound = true) { // if i + 1 is available // move element i + 1 to index i i = (i+1); } // if i + 1 is not available else // set element i as zero i=0; } if (isFound) { System.out.println("Search element found"); } else { System.out.println("Search element NOT found"); } // ============================================================ // Display the final array System.out.println("\nThe final array"); for (int i = 0; i < arraySize; i++) { // Print ith element, do NOT include line break System.out.print(integerArray[i]+ ", " ); } // Print a line break System.out.println(); } }
41 Answer
Inside the loop use this code only:
isFound = (a[i] == valueToRemove); if (isFound) { a[i] = 0; break; } isFound is the flag and it gets true if the array item a[i] is equal to valueToRemove.
If this flag is true it changes the value of the item to 0 enter code hereand exits the loop.
I used a for the array, change it to the name of your variable.
I guess arraySize is a variable holding the size of the array.