Tengo un ArrayList en el principal y tengo una clase con un constructor y un método para imprimir los datos. Puedo añadir un objeto nuevo con la nueva información, cuando se le llama, y agrega que el ArrayList para mantenerla en un lugar. Lo que yo estoy teniendo un tiempo difícil es la sintaxis para imprimir la información. He probado con una matriz regular, pero necesito usar ArrayList. Necesito ser capaz de obtener el índice de un objeto específico, y la impresión de que el objeto de la información. Por ejemplo, el código siguiente en el último par de líneas:
import java.util.ArrayList;
import java.util.Scanner;
public class student{
String name;
int age;
int birthYear;
public student(String name, int age, int birthYear){
this.name = name;
this.age = age;
this.birthYear = birthYear;
}
public void printStudentInformation(){
System.out.println(name);
System.out.println(age);
System.out.println(birthYear);
}
}
public class Main{
public static void main(String[] args){
ArrayList listOfObj = new ArrayList();
ArrayList names = new ArrayList();
Scanner sc = new Scanner(System.in);
for(int i = 0; i < 3; i++){
System.out.println("New Student Information:"); // Three student's information will be saved
String name = sc.nextLine();
int age = sc.nextInt();
int birthYear = sc.nextInt();
student someStudent = new student(name, age, birthYear);
listOfObj.add(someStudent);
names.add(name);
}
System.out.println("What student's information do you wish to view?");
for(int i = 0; i < names.size(); i++){
System.out.println((i + 1) + ") " + names.get(i)); // Prints all students starting from 1
}
int chosenStudent = sc.nextInt(); // Choose a number that correlates to a student
// Should print out chosen student's object information
listOfObj.get(chosenStudent).printStudentInformation(); // This is incorrect, but I would think the syntax would be similar?
}
}
Cualquier ayuda o aclaración es muy apreciado.