Numéro de sécurité social
Exercice Java
Dans cet exercice nous tenterons de restituer les informations d'une personne à partir de son numéro de sécurité social. Si vous souhaitez une correction personnalisé, veuillez me joindre votre fichier .java par mail à l'adresse suivante :
[email protected]
Langage : Java
Niveau : Débutant (DUT-INFO-S1)
Durée : 10-15 minutes
Contexte :
Un numéro de sécurité sociale est constitué de 13 chiffres de données :
Le premier chiffre représente le sexe (1 = homme, 2 = femme),
Les deux chiffres suivants représentent l'année de naissance,
Les deux chiffres suivants représentent le mois de naissance,
Les deux chiffres suivants représentent le département de naisssance,
Les trois chiffres suivants représentent le numéro de commune de naissance,
Les trois derniers chiffres représentent le numéro d'odre de la naissance dans le mois et la commune.
S'ajoute à cela une clef de contrôle sur 2 chiffres qui est égale à : 97 – le reste de la division du numéro sur 13 chiffres par 97
Sujet :
Dans un premier temps, vous deverez, à partir d'un numéro de sécurité social à 13 chiffres saisi par l'utilisateur, retrouver le sexe, l'année de naissance, le mois de naissance et le département de naissance de l'utilisateur.
Dans un second temps, vous calculerez la clef de sécurité en fonction du numéro de sécurité social.
Correction :
C'est l'heure de la correction !
Voici donc un correction de ce qui était attendu :
import java.util.Scanner;
/** SecuriteSocial
* Détermination des informations sur l'utilisateur
* à partir du numéro de sécurité social
*
* @author Soulalex
* @version 1 du 06/11/2015
*/
public class SecuriteSocial
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
long numSecu;
int numSexe, anneeNaissance, moisNaissance, deptNaissance; // Variables pour la décomposition du numéro de sécurité social
int clef;
String sexe;
// On lit le numéro de sécurité social
System.out.print("Veuillez saisir un numéro de sécurité social à 13 chiffres : ");
numSecu = sc.nextLong();
// On décompose notre numéro de sécurité social
numSexe = (int)(numSecu / 1000000000000L);
anneeNaissance = (int)(numSecu / 10000000000L % 100L);
moisNaissance = (int)(numSecu / 100000000L % 100L);
deptNaissance = (int)(numSecu / 1000000L % 100L);
// Détermination du sexe
if (numSexe == 1)
sexe = "Homme";
else
sexe = "Femme";
// Affichage des informations sur l'utilisateur
System.out.println("Sexe : " + sexe);
System.out.println("Année de naissance : " + anneeNaissance);
System.out.println("Mois de naissance : " + moisNaissance);
System.out.println("Département de naissance : " + deptNaissance);
// Calcul et affichage de la clef de sécurité
clef = (int)(97 - (numSecu % 97));
System.out.println("Votre clef de sécurité : " + clef);
}
}
On peut néanmois apporter certaines modifications :
Vérification de la validité de la saisie.