Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.mycompany.rubrica;
- import java.util.HashMap;
- import java.util.Scanner;
- /**
- *
- * @author alessio
- */
- public class Rubrica
- {
- private static HashMap<String, Contatto> elenco = new HashMap();
- public static void insCont()
- {
- Scanner scan = new Scanner(System.in);
- System.out.println("\nNome contatto: ");
- String nome = scan.nextLine();
- System.out.println("\nNumero: ");
- String num = scan.nextLine();
- num = num.trim();
- num = "+39 " + num.substring(0, 3) + "-" + num.substring(3, 6) + "-" + num.substring(6, 10);
- elenco.put(nome, new Contatto(nome, num));
- System.out.print("\nContatto inserito: ");
- System.out.println(elenco.get(nome).toString());
- FileOperations.stampaSuFile(elenco.get(nome).toString());
- }
- public static boolean cercaCont()
- {
- Scanner scan = new Scanner(System.in);
- boolean trovato = false;
- try
- {
- System.out.println("\nRicerca per nome: ");
- String nome = scan.nextLine();
- if (elenco.containsKey(nome))
- {
- trovato = true;
- System.out.println("\nContatto trovato.");
- System.out.println(elenco.get(nome).toString());
- }
- else
- {
- System.out.println("\nContatto \"" + nome + "\" non trovato.");
- }
- }
- catch (NumberFormatException exc)
- {
- }
- return trovato;
- }
- public static void cancCont()
- {
- Scanner scan = new Scanner(System.in);
- System.out.println("\nRicerca per nome: ");
- String nome = scan.nextLine();
- if (elenco.containsKey(nome))
- {
- elenco.remove(nome);
- System.out.println("\nContatto rimosso.");
- }
- }
- public static void modificaCont()
- {
- Scanner scan = new Scanner(System.in);
- System.out.println("\nInserisci il nome da cercare: ");
- String nome = scan.nextLine();
- if (elenco.containsKey(nome))
- {
- System.out.println("\nContatto trovato: ");
- System.out.println(elenco.get(nome).toString());
- System.out.println("\n1. Modifica nome / 2. Modifica numero");
- switch (Integer.parseInt(scan.nextLine()))
- {
- case 1:
- /*
- Dobbiamo anche modificare la chiave Nome. Per cui non
- possiamo avvalerci di .setNome(), ma dobbiamo rimuovere
- il contatto dall'HashMap e reinserirlo da capo.
- */
- System.out.println("\nInserisci il nuovo nome: ");
- String nome2 = scan.nextLine();
- /*
- Richiamiamo .getNum() per conservare il numero di telefono,
- in vista della rimozione e sostituzione del contatto.
- */
- String num = elenco.get(nome).getNum();
- elenco.remove(nome);
- /*
- Nome ci è servito a rimuovere il contatto da chiave.
- Ora che non ci serve più possiamo sovrascriverlo con
- il nuovo nome.
- */
- nome = nome2;
- elenco.put(nome, new Contatto(nome, num));
- System.out.println("\nNome modificato.");
- break;
- case 2:
- System.out.println("\nInserisci il nuovo numero: ");
- String num2 = scan.nextLine().trim();
- num2 = "+39 " + num2.substring(0, 3) + "-" + num2.substring(3, 6) + "-" + num2.substring(6, 10);
- elenco.get(nome).setNum(num2);
- System.out.println("\nNumero modificato.");
- break;
- default:
- System.out.println("\nInserisci un numero da 1 a 2.");
- break;
- }
- System.out.println(elenco.get(nome).toString());
- }
- else
- {
- System.out.println("\nContatto \"" + nome + "\" non trovato.");
- }
- }
- public static void visualizza()
- {
- if (!(elenco.isEmpty()))
- {
- for (Contatto contatto : elenco.values())
- {
- System.out.println(contatto.toString());
- }
- }
- else
- {
- System.out.println("\nRubrica vuota.");
- }
- }
- public static void cancella()
- {
- if (!(elenco.isEmpty()))
- {
- elenco.clear();
- System.out.println("\nLa rubrica è stata ripulita.");
- }
- else
- {
- System.out.println("\nRubrica vuota.");
- }
- }
- }
Add Comment
Please, Sign In to add comment