Java

Gestione soci

Classe soci per la gestione delle quote dei soci di un ente no profit – Federico Scifo 4A IT 2020/2021

//Richiamo la libreria java.io
import java.io.*;

//Classe Soci
public class Soci {

	// Attributi
	private String codiceSocio, cognome, nome, annoNascita, quotaPagata, quota;

	// Max device da poter inserire
	final static int MAX = 100;

	/* Array di nSoci */
	private Soci[] socio = new Soci[MAX];

	// Costruttore: inizializza gli attributi
	public Soci(String codiceSocio, String cognome, String nome, String annoNascita, String quotaPagata) {
		this.codiceSocio = "";
		this.cognome = "";
		this.nome = "";
		this.annoNascita = "";
		this.quotaPagata = "";
	}

	/* Getters (preleva)*/
	public String getCodiceSocio() {
		return codiceSocio;
	}
	public String getCognome() {
		return cognome;
	}
	public String getNome() {
		return nome;
	}
	public String getAnnoNascita() {
		return annoNascita;
	}
	public String getQuotaPagata() {
		return quotaPagata;
	}
	public String getQuota() {
		return quota;
	}
	// Setters (imposta)
	public void setCodiceSocio(String codiceSocio) {
		this.codiceSocio = codiceSocio;
	}
	public void setCognome(String cognome) {
		this.cognome = cognome;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}
	public void setAnnoNascita(String annoNascita) {
		this.annoNascita = annoNascita;
	}
	public void setQuotaPagata(String quotaPagata) {
		this.quotaPagata = quotaPagata;
	}
	public void setQuota(String quota) {
		this.quota = quota;
	}

	// Metodo che serve ad aggiungere le informazioni nell'array dato //
	public void addSocio(int nSoci){
		
		/* Oggetto per leggere lo streaming da tastiera */
		InputStreamReader input = new InputStreamReader(System.in);
		BufferedReader tastiera = new BufferedReader(input);

		// Ciclo for per popolare array
		for (int i = 1; i <= nSoci; i++) {
			// Blocco dell'eventuale eccezione generata
			try {
				System.out.println("--> Socio [" + (i) + "]");
				
				System.out.println("Inserisci il codice : ");
				setCodiceSocio(tastiera.readLine());

				System.out.println("Inserisci il cognome: ");
				setCognome(tastiera.readLine());
				
				System.out.println("Inserisci il nome: ");
				setNome(tastiera.readLine());

				System.out.println("Inserisci l'anno di nascita: ");
				setAnnoNascita(tastiera.readLine());
				
				System.out.println("Inserisci la quota pagata: ");
				setQuotaPagata(tastiera.readLine());
				
			} catch (Exception e) {
				System.out.println("\nHai inserito un valore non valido!");
				return;
			}			
			socio[i] = new Soci(getCodiceSocio(), getCognome(), getNome(), getAnnoNascita(), getQuotaPagata());
		}
	}

	// Metodo che serve ad modificare ed a visualizzare la quota pagata 
	public void modQuota(int nSoci) {
		
		/* Oggetto per leggere lo streaming da tastiera */
		InputStreamReader input = new InputStreamReader(System.in);
		BufferedReader tastiera = new BufferedReader(input);
		
		// Ciclo for per popolare array
		for (int i = 1; i <= nSoci; i++) {
			// Blocco dell'eventuale eccezione generata
			try {
				System.out.println("Vuoi modificare la quota pagata del socio ["+(i)+"]");
				setQuota(tastiera.readLine());
				if(quota.equals("Si")) {
					System.out.println("Inserisci quota aggiornata : "); 
					setQuotaPagata(tastiera.readLine());
					System.out.println("Quota Modificata : "+quotaPagata); 
				}				
			} catch (Exception e) {
				return;
			}			
			socio[i] = new Soci(getCodiceSocio(), getCognome(), getNome(), getAnnoNascita(), getQuotaPagata());
		}
	}
	
	// Metodo che serve ad modificare ed a visualizzare la quota pagata
	public void stampaSoci(int nSoci) {

		/* Oggetto per leggere lo streaming da tastiera */
		InputStreamReader input = new InputStreamReader(System.in);
		BufferedReader tastiera = new BufferedReader(input);

		// Ciclo for per popolare array
		for (int i = 1; i <= nSoci; i++) {
			// Blocco dell'eventuale eccezione generata
			try {
				for (int j = 1 ; j <nSoci; j++) {
					int annoMin=Integer.valueOf(socio[j+j].annoNascita);
					int annoMax=0;
					if (Integer.valueOf(socio[j+j].annoNascita) < annoMin) {
						System.out.println("\n********");
						System.out.println("\nIl Cliente piu' giovane e' " + socio[j].cognome + " " +socio[j].nome);
					}
					if (Integer.valueOf(socio[j].annoNascita) > annoMax){
						System.out.println("\nIl Cliente piu' anziano e' " + socio[j].cognome + " " +socio[j].nome);
					}					
				}				
			} catch (Exception e) {
				System.out.println("\nHai inserito un valore non valido!");
				return;
			}
			socio[i] = new Soci(getCodiceSocio(), getCognome(), getNome(), getAnnoNascita(), getQuotaPagata());
		}
	}
}