Java program help
package lists;
/**
*
* @author
*/
import java.util.* ;
public class ListMain {
public static void main(String[]args){
int choice=0;
Scanner scanner=new Scanner(System.in);
List<Animal> list=new ArrayList<Animal>();
int pos;
while(choice!=5){
printMenu();
System.out.print("Choose a number");
choice=scanner.nextInt();
switch(choice){
case 1:
addOrEditAnimal(list, -1,scanner);
break;
case 2:
int i=0;
for(Animal a:list){
i++;
System.out.println(i+" "+a.toString());
}
break;
case 3:
int j=0;
for(Animal a:list){
j++;
System.out.println(j+" "+a.toString());
}
System.out.println("Select position to edit");
pos=scanner.nextInt();
if(pos>0 && pos<=list.size()){
addOrEditAnimal(list, pos,scanner);
}else{
System.out.println("Animal at the given position not found");
}
break;
case 4:
int j3=0;
for(Animal a:list){
j3++;
System.out.println(j3+" "+a.toString());
}
System.out.println("Select position to delete");
pos=scanner.nextInt();
if(pos>0 && pos<=list.size()){
list.remove(pos-1); //Actual position is index-1
}else{
System.out.println("Animal at the given position not found,could not delete");
}
break;
case 5:
System.out.println("Bye");
break;
default:
System.out.println("Invalid choice <<"+choice+">>");
}
}
scanner.close();
}
/**
* Prints a list or options for user to select from
*/
public static void printMenu(){
System.out.println("1. Add animal");
System.out.println("2. List animal");
System.out.println("3. Edit animal");
System.out.println("4. Delete");
System.out.println("5. Exit");
}
/**
* Used to add or edit animal
* @param list list to add or edit animal in
* @param position negative for new and animal position for edit
* @param sc Scanner to read input
*/
public static void addOrEditAnimal(List<Animal> list,int position,Scanner sc){
Animal animal;
String value="";
sc.nextLine();
boolean v;
if(position>0){
animal=list.get(position-1);
System.out.println("NB:Press ENTER to skip change");
System.out.println("Animal name:");
value=sc.nextLine();
if(value.length()>0)
animal.setName(value);
System.out.println("Animal color:");
value=sc.nextLine();
if(value.length()>0)
animal.setColor(value);
System.out.println("Vertebrate(V) or invertebrate(I)");
value=sc.nextLine();
if(value.length()>0)
animal.setType(value);
System.out.println("Animal can swim?(Yes/No)");
value=sc.nextLine();
if(value.length()>0){
v=value.startsWith("y");
animal.setCanSwim(v);
}
}else{
animal=new Animal();
System.out.println("Animal name:");
value=sc.nextLine();
animal.setName(value);
System.out.println("Animal color:");
value=sc.nextLine();
animal.setColor(value);
System.out.println("Vertebrate(V) or invertebrate(I)");
value=sc.nextLine();
animal.setType(value);
System.out.println("Animal can swim?(Yes/No)");
value=sc.nextLine();
v=value.startsWith("y");
animal.setCanSwim(v);
list.add(animal);
}
}
}