Pagine

giovedì 6 settembre 2018

Classi java try catch ecc... Il conto bancario

package org;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;

public class Sample {
 
 public static class User {
  
  private String name;
  private String surname;
  private int pin; 
  
  public User(String name, String surname, int pin) {
   this.name = name;
   this.surname = surname;
   this.pin = pin;
  }

  public String getName() {
   return name;
  }
  
  public String getSurname() {
   return surname;
  }
  
  public int getPin() {
   return pin;
  }
 }
 
 public static enum Operations {
  
  PRELEVA,
  DEPOSITA,
  TERMINA
  
 }
 
 private static final BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
 private static final List users = new ArrayList();
 private static boolean exit = false;
 
 public static void main(String[] args) throws IOException {  
  users.add(new User("Andrea", "D'Elia", 123456));
  users.add(new User("Antonio", "Cerbino", 000000));
  
  while (!exit) {
   System.out.println("Perfavore, inserisci il tuo nome: ");
   User choosenUser = getUserByName(bufferedReader.readLine());
   
   if (choosenUser != null) {
    boolean authenticated = false;
    
    while (!authenticated) {
     System.out.println("La tua utenza è stata trovata, perfavore inserisci il tuo pin: ");
     String pin = bufferedReader.readLine();
     
     if (isInteger(pin))
      if (choosenUser.getPin() == Integer.parseInt(pin))
       authenticated = true;      
       
      else
       System.out.println("Il pin inserito non è valido.");
     else
      System.out.println("Il pin inserito contiene dei caratteri non accettati!");
    }
    
    System.out.println("Sei stato autenticato correttamente, che tipo di operazione desideri fare?");
    
    // Scelta dell'operazione, dove al termine si ritorna alla linea 53, finché exit = false.
   
   } else
    System.out.println("Utenza non trovata!");
  }
 }
 
 private static User getUserByName(String name) {
  for (User user : users)
   if (user.getName().toLowerCase().equals(name.toLowerCase()))
    return user;
  
  return null;
 }
 
 private static boolean isInteger(String pin) {
  try {
   Integer.parseInt(pin);
   return true;
   
  } catch (NumberFormatException e) {}
  
  return false;
 }

}

Nessun commento:

Posta un commento