Good afternoon, as a good newbie in Java, a doubt has arisen at the root of an exercise. I have the class "Person" that should have a variable that will increase by 1 with each instance of its class, but I do not know how to do it efficiently, (a class variable called " numero_de_personas
" that will increase by 1 with each instance.)
Here my code:
Clase Persona:
class Persona{
private String nombres; //Atributos de la clase Persona
private String apellidos;
int numero_de_personas;
public Persona(){
//inicializamos variables
nombres = "";
apellidos = "";
numero_de_personas = 1;
}
//Constructor con parámetros
public Persona(String nombres, String apellidos) {
this.nombres = nombres;
this.apellidos = apellidos;
}
//Getters Y Setters
public void setNombres(String nombres){
this.nombres = nombres;
}
public void setApellidos(String apellidos){
this.apellidos = apellidos;
}
public String getNombres(){
return this.nombres;
}
public String getApellidos(){
return this.apellidos;
}
public int getNumero_de_personas() {
return numero_de_personas;
}
public void setNumero_de_personas(int numero_de_personas) {
this.numero_de_personas = numero_de_personas;
}
}
Class ArrayPeople with the main method:
import java.util.Scanner;
import java.util.ArrayList; //Importamos los paquetes necesarios
public class ArrayPersonas{ //Clase ArrayPersona que contiene el método principal
public static void main(String []args){
Scanner scanner = new Scanner(System.in);//Iniciamos la clase Scanner para pedir datos por teclado
Scanner scannerN = new Scanner(System.in);
ArrayList listaPersonas = new ArrayList(); //Creamos el Array listaPersonas donde guardarmeos los datos
System.out.println("Introduzca el número de personas de las que desea guardar información : ");
int totalPersonas = 1;
int contadorPersona = scannerN.nextInt();//Ingresaremos en nuestro ArrayList el nº de personas introducido por teclado en la variable numero_de_personas
for(int i = 1;i <= contadorPersona;i++){//Bucle for para insertar los atributos de la clase Persona tantas veces como la variable numero_de personas.
Persona persona = new Persona();
System.out.println("Inserte el nombre de la persona número "+i);
persona.setNombres(scanner.nextLine());
System.out.println("Inserte los apellidos de la persona número "+i);
persona.setApellidos(scanner.nextLine());
persona.setNumero_de_personas(i);
listaPersonas.add(persona);//adjuntamos a la lista la persona que acabamos de crear
}
for(int j = 0; j< listaPersonas.size();j++){
//ahora imprimiremos las personas de nuestro ArrayList
System.out.println("============================================================");
System.out.println("Persona numero " +totalPersonas++ );
Persona persona = (Persona)listaPersonas.get(j);
System.out.println("Nombre: "+persona.getNombres());
System.out.println("Apellidos: "+persona.getApellidos());
}
}
}