I am trying to take User Input in one line and store in Array List. For Example I want to take User Input to sort the maximum and Minimum values of the given input. I am looking for some code suggestions on how an Array List can take input in one Line.
Below is the Code that I am using. Please review and provide better inputs and suggestions
public static void main(String[] args) {
//1.take input from user
Scanner input = new Scanner(System.in);
//2.store them in an arraylist
ArrayList<Integer> al = new ArrayList<Integer>();
while(true){
System.out.println("Enter the Array elements :");
int in = input.nextInt();
al.add(in);
System.out.println("Are array elements entered ? Type \"yes\" if finished or else enter no");
String answer = input.next();
if(answer.equalsIgnoreCase("yes")){
break;
}
}
System.out.println("Entered array elements are:");
//we can simply print here or to retrieve them we have to iterate elemets
for(Integer a:al){
System.out.println(a);
}
System.out.println("Array elemets :"+al);
Collections.sort(al);
System.out.println("Sorted array: "+ al);
}
Here if I give User Input seperated by comma(,) it throws InputMismatchException . I cannot give here User Input as 12,2,1,5,10 .The above code doesn't read all the values in one line and store . I have to give one input at a time and then have to give yes if Array List input is completed else no to continue to give user input. I am beginner in Java. Looking for some better code and suggestions. Any Kind help is appreciated.