Im trying to delete elements of an arraylist via inputs but the program stops at the third input, I would like to know why it does that.
Scanner scan = new Scanner(System.in);
int[] array = {15, 30, 25, 19, 30, 40}; //1d array for (int i = 0; i< array.length; i++) //List out the original arraylist { System.out.print(array[i]+ " "); } List<Integer> list = Arrays.stream(array).boxed().collect(Collectors.toList()); //converts into arraylist System.out.print("nEnter an element to delete:"); for (int i = 0; i < list.size(); i++) { int input = scan.nextInt(); if (!list.isEmpty()) { for (int j = 0; j < list.size(); j++) { list.remove(Integer.valueOf(input)); //input for choosing which element should be remove System.out.print(list.get(j)+ " "); } System.out.print("nEnter an element to delete:"); } else { System.out.print("nArray is empty"); break; } } }
}
Advertisement
Answer
There are a couple of problems with your program.
The condition of for loop was not correct and some other minor issues.
Here, is a better version of your program:
public static void main(String[] args) { int[] array = {15, 30, 25, 19, 30, 40}; //1d array Scanner scan = new Scanner(System.in); List<Integer> list = Arrays.stream(array).boxed().collect(Collectors.toList()); //converts into arraylist while (!list.isEmpty()) { System.out.println(list); System.out.print("nEnter an element to delete:"); int input = scan.nextInt(); list.remove(Integer.valueOf(input)); //input for choosing which element should be remove } if(list.isEmpty()){ System.out.println("Array is empty."); } }