
public class Nombre {

	private int nb = 0;
	
	
	/**
	 * Crée un nouvel objet "Nombre" avec une valeur par défaut à 0
	 * 
	 */
	
	public Nombre() {
		this.nb = 0;
	}
	/**
	 *  Crée un nouvel objet "Nombre" qui sera initialisé avec la valeur du paramètre ''nb''
	 * @param nb la valeur du nombre
	 */
	public Nombre(int nb) {
		this.nb = nb;
	}
	
	/**
	 * Permet de connaître la valeur de l'état de l'objet représenté en interne par une 
	 * variable de type int	  
	 */
	public int getNb() {
		return nb;
	}
	
	/**
	 * Permet de modifier l'état de l'objet
	 * @param nb la nouvelle valeur de l'objet nombre
	 */
	public void setNb(int nb) {
		this.nb = nb;
	}
	
	/**
	 *calcul puis retourne la somme des chiffres ( en base 10) qui composent le 
	 *nombre 
	 */
	public int sommeChiffres(){
		int somme = 0;
		String nombre = String.valueOf(this.nb);
		for(int i = 0 ; i < nombre.length() ; i++){
			somme +=  Integer.parseInt(nombre.substring(i,i+1));
		}
		return somme;
	}


	/**
	 *retourne vrai si le nombre nb2 passé en paramètre est ami 
	 */
	public boolean estAmi(int nb2){
        	String nombre = String.valueOf(nb2);
        	int somme2 = 0 ;

        	for(int i = 0 ; i < nombre.length() ; i++){
        	    somme2 +=  Character.getNumericValue(nombre.charAt(i));
       		 }
      		 if( somme2 == this.sommeChiffres())
            		return true;
        	else
            		return false;
    	}

	
	
}
