Gestion des immatriculations de voiture
misterG88
Messages postés
13
Date d'inscription
Statut
Membre
Dernière intervention
-
misterG88 Messages postés 13 Date d'inscription Statut Membre Dernière intervention -
misterG88 Messages postés 13 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis étudiant en 3ième année en informatique je voudrai k vous m aidiez SVP à corriger mon code car j'ai un problème sur l'incrémentation des matricules et puis je souhaite aussi appliquer la fonction "swing" merci.
voici le mini projet :
MINI_PROJET
Gestion des immatriculations de voiture
On désire définir des objets représentant des voitures. Les voitures disposeront tous d'une immatriculation. L'immatriculation d'une voiture se compose de trois parties :
- Une première partie numérique (entière) de 1 à 9,
- une lettre (char) de A à Z,
- une troisième partie numérique correspondant à la région (pour l'instant toujours 59).
Les règles d'immatriculation suivront les règles françaises d'immatriculation (la première voiture est 1 A 59, puis 2 A 59, : : : 9 A 59, 1 B 59, : : :). Lorsqu'on crée une nouvelle immatriculation,
on désire que celle-ci soit initialisée selon cette règle.
La classe immatriculation comprendra par ailleurs deux méthodes : une méthode affiche() qui affiche une immatriculation et une méthode nb_immatriculations() qui affiche le nombre d'immatriculations émises.
1. Réalisez cette classe (en utilisant, quand cela est nécessaire, le mot clef static).
On désire maintenant créer la classe Voiture. Une voiture est définie par son modèle (une chaîne de caractère) et par une immatriculation. On pourra demander à afficher une voiture (on affiche alors son modèle suivi de son immatriculation).
2. Réalisez la classe voiture.
3. En JAVA, une classe est exécutable si elle est munie d'une méthode de classe particulière : la méthode main. Il s'agit de la méthode main que vous connaissez bien. Rendez la classe Voiture exécutable. On désire que, lorsqu'on exécute la classe voiture, on crée des voitures en demandant à l'utilisateur de saisir leurs modèles. On affiche les voitures après leur création.
ma solution :
pour la classe immatriculation:
package imat;
public class Immatriculation{
private static int numero = 1;
private static char cptAlpha = 'A';
private static int cptNum = 0;
private int num;
private char lettre;
private int region=59;
/***************************************************
* constructeurs de la classe immatriculation
*************************************************/
public Immatriculation() {
num=numero;
lettre=cptAlpha;
cptNum++;
incLettre();
incI();
}
/********************************************
* ************* méthodes ****************
*/
public void incI() {
if (numero < 9)
numero++;
else
numero = 1;
}
public void incLettre() {
char top = 'Z';
int temp;
if (numero == 9)
if (lettre < top) {
temp = (int) lettre;
temp++;
lettre = (char) temp;
} else
lettre = 'A';
}
public void afficher() {
System.out.println("Immatriculation: " + num +" " + lettre + " "+ region);
}
public void nbMatricule() {
System.out.println("Le Nombre de plaques immatriculés est "+cptNum);
}
}
A fin pour la classe Voiture :
package imat;
import java.util.Scanner;
import java.util.ArrayList;
import java.util.List;
public class Voiture {
public String mod;
private Immatriculation matricule;
public Voiture (String mod) {
this.mod=mod;
matricule = new Immatriculation();
}
public void afficherVoiture() {
System.out.print("Model immatriculé: "+ this.mod+" ");
matricule.afficher();
}
public static void main(String[] args) {
String mod;// variable contenant le nom du modèle
List<Voiture> listVoiture = new ArrayList<Voiture>();//liste des voitures
Scanner sc = new Scanner(System.in);
String out = "quitter";
System.out.println("saisir la marque de voiture a immatriculer ou 'quitter' ");
while (!sc.hasNext(out)) {
mod = sc.next();
Voiture V = new Voiture(mod);
listVoiture.add(V);
System.out.println("saisissez le model de voiture à immatriculer ou 'quitter' pour quitter l'application ");
}
for (int i = 0; i < listVoiture.size();
i++) {
Voiture v = listVoiture.get(i);
v.afficherVoiture();
}
Voiture v = listVoiture.get(0);
v.matricule.nbMatricule();
}
}
Je suis étudiant en 3ième année en informatique je voudrai k vous m aidiez SVP à corriger mon code car j'ai un problème sur l'incrémentation des matricules et puis je souhaite aussi appliquer la fonction "swing" merci.
voici le mini projet :
MINI_PROJET
Gestion des immatriculations de voiture
On désire définir des objets représentant des voitures. Les voitures disposeront tous d'une immatriculation. L'immatriculation d'une voiture se compose de trois parties :
- Une première partie numérique (entière) de 1 à 9,
- une lettre (char) de A à Z,
- une troisième partie numérique correspondant à la région (pour l'instant toujours 59).
Les règles d'immatriculation suivront les règles françaises d'immatriculation (la première voiture est 1 A 59, puis 2 A 59, : : : 9 A 59, 1 B 59, : : :). Lorsqu'on crée une nouvelle immatriculation,
on désire que celle-ci soit initialisée selon cette règle.
La classe immatriculation comprendra par ailleurs deux méthodes : une méthode affiche() qui affiche une immatriculation et une méthode nb_immatriculations() qui affiche le nombre d'immatriculations émises.
1. Réalisez cette classe (en utilisant, quand cela est nécessaire, le mot clef static).
On désire maintenant créer la classe Voiture. Une voiture est définie par son modèle (une chaîne de caractère) et par une immatriculation. On pourra demander à afficher une voiture (on affiche alors son modèle suivi de son immatriculation).
2. Réalisez la classe voiture.
3. En JAVA, une classe est exécutable si elle est munie d'une méthode de classe particulière : la méthode main. Il s'agit de la méthode main que vous connaissez bien. Rendez la classe Voiture exécutable. On désire que, lorsqu'on exécute la classe voiture, on crée des voitures en demandant à l'utilisateur de saisir leurs modèles. On affiche les voitures après leur création.
ma solution :
pour la classe immatriculation:
package imat;
public class Immatriculation{
private static int numero = 1;
private static char cptAlpha = 'A';
private static int cptNum = 0;
private int num;
private char lettre;
private int region=59;
/***************************************************
* constructeurs de la classe immatriculation
*************************************************/
public Immatriculation() {
num=numero;
lettre=cptAlpha;
cptNum++;
incLettre();
incI();
}
/********************************************
* ************* méthodes ****************
*/
public void incI() {
if (numero < 9)
numero++;
else
numero = 1;
}
public void incLettre() {
char top = 'Z';
int temp;
if (numero == 9)
if (lettre < top) {
temp = (int) lettre;
temp++;
lettre = (char) temp;
} else
lettre = 'A';
}
public void afficher() {
System.out.println("Immatriculation: " + num +" " + lettre + " "+ region);
}
public void nbMatricule() {
System.out.println("Le Nombre de plaques immatriculés est "+cptNum);
}
}
A fin pour la classe Voiture :
package imat;
import java.util.Scanner;
import java.util.ArrayList;
import java.util.List;
public class Voiture {
public String mod;
private Immatriculation matricule;
public Voiture (String mod) {
this.mod=mod;
matricule = new Immatriculation();
}
public void afficherVoiture() {
System.out.print("Model immatriculé: "+ this.mod+" ");
matricule.afficher();
}
public static void main(String[] args) {
String mod;// variable contenant le nom du modèle
List<Voiture> listVoiture = new ArrayList<Voiture>();//liste des voitures
Scanner sc = new Scanner(System.in);
String out = "quitter";
System.out.println("saisir la marque de voiture a immatriculer ou 'quitter' ");
while (!sc.hasNext(out)) {
mod = sc.next();
Voiture V = new Voiture(mod);
listVoiture.add(V);
System.out.println("saisissez le model de voiture à immatriculer ou 'quitter' pour quitter l'application ");
}
for (int i = 0; i < listVoiture.size();
i++) {
Voiture v = listVoiture.get(i);
v.afficherVoiture();
}
Voiture v = listVoiture.get(0);
v.matricule.nbMatricule();
}
}
A voir également:
- Gestion des immatriculations de voiture
- Waptrick jeux voiture - Télécharger - Jeux vidéo
- Symbole poisson voiture - Accueil - Maison
- Logiciel gestion locative gratuit excel - Télécharger - Comptabilité & Facturation
- Gestion de fichiers - Télécharger - Gestion de fichiers
- Logiciel gestion photo gratuit - Guide
2 réponses
bonjour,
ça serait très utile de poster le message d'erreur reçu.
personnellement, après une 1ière lecture, le casting utilisé pour transformer un char en int et le vis versa n'est correcte, puisque tu va transformer un char comme dans l'exemple ('A') en int pour l'incrémenter...!!! mais il n'est pas une chaine de caractère constitué de chiffre seulement.
j'ai pas copié le code pour vérifier la justice de ma proposition, et de ton code (espérant que l'erreur vient juste de l'incrémentation des lettres), mais voial comment je voudrais incrémenter des caractères, tout simplement:
char a ='A';
a++;//dans ce cas, a='B'
alors, dans ton code, il faut au moins corriger ça:
public void incLettre() {
char top = 'Z';
int temp=top;
if (numero == 9)
if (lettre < top) {
lettre++;
} else
lettre = 'A';
}
PS: j'ai pas pu tester le code, car, je suis loin d'une machine virtuelle java à ce moment.
ça serait très utile de poster le message d'erreur reçu.
personnellement, après une 1ière lecture, le casting utilisé pour transformer un char en int et le vis versa n'est correcte, puisque tu va transformer un char comme dans l'exemple ('A') en int pour l'incrémenter...!!! mais il n'est pas une chaine de caractère constitué de chiffre seulement.
j'ai pas copié le code pour vérifier la justice de ma proposition, et de ton code (espérant que l'erreur vient juste de l'incrémentation des lettres), mais voial comment je voudrais incrémenter des caractères, tout simplement:
char a ='A';
a++;//dans ce cas, a='B'
alors, dans ton code, il faut au moins corriger ça:
public void incLettre() {
char top = 'Z';
int temp=top;
if (numero == 9)
if (lettre < top) {
lettre++;
} else
lettre = 'A';
}
PS: j'ai pas pu tester le code, car, je suis loin d'une machine virtuelle java à ce moment.