I am a noob in Java so far and I am having issues with this program. In this program, users can add student info and see the info. However my add function (I think does not work so I am not using it properly I guess). I realized that my error is that the index is out of boundaries, but I am not using set, I am using add so I guess it should increase the length of the arraylist isn't that right? Anyways, this is the code:
public class Student {
Scanner scan = new Scanner(System.in);
String name_s, surname_s;
int age_s, number_s;
int choice;
int index;
public void Studentt() {
ArrayList<String> name = new ArrayList<String>();
ArrayList<String> surname = new ArrayList<String>();
ArrayList<Integer> age = new ArrayList<Integer>();
ArrayList<Integer> number = new ArrayList<Integer>();
System.out.println("To add student:1\nTo see student:2");
this.choice = Integer.parseInt(scan.nextLine());
if (choice == 1) {
System.out.println("Name:");
this.name_s = scan.nextLine();
name.add(name_s);
System.out.println("Surname:");
this.surname_s = scan.nextLine();
surname.add(surname_s);
System.out.println("Age:");
this.age_s = Integer.parseInt(scan.nextLine());
age.add(age_s);
System.out.println("Number");
this.number_s = Integer.parseInt(scan.nextLine());
number.add(number_s);
end();
} else if (choice == 2) {
System.out.println("Index of the student you want to see:");
this.index = Integer.parseInt(scan.nextLine());
System.out.println(name.get(index));
System.out.println(surname.get(index));
System.out.println(age.get(index));
System.out.println(number.get(index));
System.out.println("Done.");
end();
} else {
System.out.println("Wrong choice.");
Studentt();
}
}
public void end() {
try(Scanner scan = new Scanner(System.in)){
int menu;
System.out.println("To repeat:1 \nExit:2");
menu = Integer.parseInt(scan.nextLine());
if (menu == 1) {
Studentt();
} else if (menu == 2) {
System.out.println("Done.");
} else {
System.out.println("Wrong choice.");
end();
}
}
}
and this is the output:
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index 1 out of bounds for length 0