IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Création d'un programme en combien de classe?


Sujet :

avec Java

  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 97
    Par défaut Création d'un programme en combien de classe?
    Bonjour,

    je dois créer un programme avec une classe Minéraux et une sous-classe Cristaux.
    J'aimerais savoir si on doit rajouter une classe pour tout ce qui est lecture/écriture ou si je peux mettre ça dans une de mes classes. Si oui dans laquelle?

    Merci

  2. #2
    Membre éprouvé Avatar de anisj1m
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2006
    Messages
    1 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 067
    Par défaut
    tu peux faire les deux, à toi de choisir

  3. #3
    Membre éprouvé
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 133
    Par défaut
    lecture/écriture
    Personnellement, je sortirais cela dans une autre classe. Mais cela dépend encore de ce que tu veux faire comme actions de lecture & ecriture.

    C'est quoi principalement comme lecture ? Lecture sur l'entrée standard ? Lecture d'un fichier ?

    Si ces actions concernent les deux classes, alors regroupe ces actions dans une autre classe.

  4. #4
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 47
    Par défaut
    Cree une classe par exemple outil peut servir, il ne faut pas oublier qu'une classe "normalement" doit etre reutilisable dans un autre contexte.

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 97
    Par défaut
    Je m'explique

    Voici l'énoncé:
    En fait j'ai une classe Minéraux.
    Données de la classe: origine (String), couleur (String),decouvreur (String), densite (float).
    Je dois créer un constructeur pour cette classe ainsi qu'un mutateur pour la variable decouvreur et un accesseur pour les variables origine et densite. L'ensemble doit être protected
    En dériver une sous-classe Cristaux:
    Données: structure (String), durete (float).
    Les variables de la classe Cristaux sont privées.
    Faire un constructeur pour la classe Cristaux.

    Pour le reste il n'a pas précisé.

    Moi j'aimerais que dans l'invite de commande il me demande de rentrer une caractéristique pour chaque variable et qu'une fois que tout est rempli qu'il les affiche. Et que l'on peut faire cela autant de fois que l'on désire pour plusieurs minéraux.

    Comment peut-on faire cela? Je parle surtout pour la méthode lecture/écriture. Car je ne sais pas comment faire pour que le programme mémorise toutes ces entrées et qu'il les affiche uniquement lorsque l'on a terminé d'entrée la dernière caractéristique du minéraux.
    J'aimerais donc une présentation assez cohérente dans l'invite de commande.
    Désolé mais j'ai un peu du mal et les explications sur java sont je trouve souvent pas très explicites.

    Merci

  6. #6
    Membre Expert
    Avatar de sovo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    1 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 389
    Par défaut
    lorsque tu dis
    Citation Envoyé par jerdel
    Comment peut-on faire cela? Je parle surtout pour la méthode lecture/écriture.
    de quoi veux tu faire allusion ?? à la possibilité d'écrire à partir du clavier et d'afficher un message sur la console ??

  7. #7
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 97
    Par défaut
    En fait je veux dire programmablement parlant. Quelles méthodes faut-il utiliser?
    Puis-je me baser du programme suivant? Ce programme fonctionne mais il contient peut être des éléments inutiles, je ne sais pas. Le programme n'est pas entier. Il contient des classes annexes. Mais au niveau entrée/sortie c'est celui-ci.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    import java.io.*;
    class Etudiant{
     
    	public static String lecture() 
    		{
    			BufferedReader l = new BufferedReader(new InputStreamReader(System.in));
    			String s = "";
    			try
    			{
    				s = l.readLine();
    			}
    				catch (Exception e){}
    			return (s);
    		}
     
     
    	public static void main ( String [] args ){
     
     
    			AnneeTerminal e1 = new AnneeTerminal (3,"Dewame Cedric","Informatique & Systemes","HEPCUT","Electricite, c'est pas complique","changement de place d'une armoire electrique",23,10,2008);
    			AnneeTerminal e2 = new AnneeTerminal (3,"Dewame Cedric","Informatique & Systemes","HEPCUT","L'hydraulique faut que sa me pique","Cablage hydraulique d'une pompe",30,10,2008);
    			AnneeTerminal e3 = new AnneeTerminal (3,"Delcampe Jerome","Informatique & Systemes","HEPCUT","La mecanique dans tout les coins","Changement d'un tapis d'une chaine de montage",5,11,2008);
     
     
     
    			System.out.println(e1);
    			System.out.println(" ");
    			System.out.println(e2);
    			System.out.println(" ");
    			System.out.println(e3);
    			System.out.println(" ");
    			System.out.println("La comparaison entre l'etudiant1 et l'etudiant2 pour le nom est "+e1.compare (e2));
    			System.out.println(" ");
    			System.out.println("La comparaison entre l'etudiant1 et l'etudiant2 la these est "+e1.change (e2));
    			System.out.println(" ");
    			System.out.println("Introduire un nouveau travail pour Cedric Dewame");
    			String s = lecture();
    			String ntravaux = e1.remplace(s);
     
     
    			System.out.println("");
     
     
    			System.out.println("Introduire un nouveau travail pour Renaud Boite");
    			s = lecture();
    			ntravaux = e2.remplace(s);
     
    			System.out.println(" ");
     
     
    			System.out.println("Introduire un nouveau travail pour Jerome Delcampe");
    			s = lecture();
    			ntravaux = e3.remplace(s);
     
    			System.out.println(e1);	
    			System.out.println(e2);
    			System.out.println(e3);
    			}
     
    }

  8. #8
    Membre Expert
    Avatar de sovo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    1 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 389
    Par défaut
    Ok pour lire (a partir du clavier)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     /*tu dois importé :
     java.util.scanner*/
     
     Scanner sc = new Scanner(System.in);
     int i = sc.nextInt();
    pour écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     /*tu importe :
      system.out.println;
     
      println("Hello Word");

  9. #9
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 97
    Par défaut
    Merci mais j'ai besoin d'un peu plus de précision car seulement avoir les méthodes ne m'est pas suffisant car je ne sais pas comment les utiliser. Je veux dire par là qu'un programme doit avoir un rapport logique entre ses différentes méthodes et autre. C'est là qu'est mon problème. J'ai les méthodes mais je suis incapable de faire quelque chose de cohérent.

    A partir du bout de programme que j'ai fait (corrigez-le svp si il n'est pas correct)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    class Vehicule{
    	String marque;
    	int cylindree,puissance;
     
    	//Constructeur
    	Vehicule(String marque,int cylindree,int puissance){
    		this.marque=marque;
    		this.cylindree=cylindree;
    		this.puissance=puissance;
    	}
     
    	public String toString(){
    		return("\n\n"+"Marque du véhicule: "+marque+"\nCylindrée: "+cylindree+"\nPuissance: "+
    		puissance);
    	}
    }
    quelqu'un pourrait-il mettre une suite de manière à ce que dans l'invite de commande ça affiche:

    Entrez la marque du véhicule

    Entrez la cylindrée

    Entrez la puissance
    J'entre donc une donnée puis Enter et ainsi de suite pour chaque données.

    Une fois arrivé à la dernière donnée je veux qu'il affiche en fonction de ce que j'ai répondu:

    Marque du véhicule: Audi
    Cylindrée: 2l
    Puissance: 130ch
    Merci

  10. #10
    Membre Expert
    Avatar de sovo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    1 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 389
    Par défaut
    hummm je vois.

    Ca veux dire que soit tu ne comprends pas bien la philosophie de la POO, soit alors tu n'as pas vraiment fait un algo. je ne sais pas dans cas tu te trouve, mais je te conseille de bien revoir tes concept de POO ou alors de Penser (faire un bon algo) ta solution.

  11. #11
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 97
    Par défaut
    L'algo c'est pas un problème. C'est plûtot la POO. Tu connais pas un bon site où je peux apprendre assez rapidement (avant lundi) pour réaliser ça? Ou à moins que celui-ci soit le meilleur. Si c'est le cas quel tutoriel choisir?

  12. #12
    Membre éprouvé
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 133
    Par défaut
    Pose ton problème :

    Demander la marque
    Lire la réponse
    Demander la cylindree
    Lire la réponse
    Demander la puissance
    Lire la réponse

    A partir de ces reponses, creer un véhicule
    Afficher le vehicule

    Tu peux déja voir ce qui est redondant : a chaque fois que tu poses une question, tu attends une reponse. Voilà donc une fonction interessante à écrire.

    Ton main peut donc consister à appeler 3 fois cette méthode (3 questions), et à partir de 3 reponses fournies, tu construis une voiture.

    Et cette voiture, finalement, tu l'affiches avec ta méthode toString(), sur la sortie standard, avec System.out.println().

    Comme dis plus haut, reprends les concepts de la POO. Et sur developpez.net, tu as plein de tutoriel pour bien commencer. D'ici lundi, tu peux avoir le temps de sortir cet algo.

    Sinon, si vraiment tu ne comprends pas, tu peux t'inspirer de ça, mais méthodologiquement, je te recommande toutefois de lire ces tutoriels qui te serviront évidemment beaucoup.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
     
    //
    //
    // Attention, si tu scrolles trop bas, tu risque de voir le code source, 
    // et ne pas aller lire les tutoriels. 
    //
    //
    //
    //
    //
    //
    //
    //
    //
    //
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.io.BufferedReader;
    import java.io.Reader;
     
    public class Main {
     
    	/**
             * Pose une question sur la sortie standard, et lit la reponse fournie sur l'entree
             * en parametre
             */
    	private static String readLine(String question, Reader reader) throws IOException {
    		System.out.println(question);
     
    		BufferedReader buffer = new BufferedReader(reader);
    		String line = buffer.readLine();
    		return line;
    	}
     
    	/**
             * Construit une voiture a partir des entrees qui seront fournis
             * a l'entree standard de la console
             */
    	private static Vehicule constructCar() {
    		InputStreamReader reader = new InputStreamReader(System.in);
    		try {
    			String marque = Main.readLine("Marque ?", reader);
    			String cylindree = Main.readLine("Cylindree ?", reader);
    			String puissance = Main.readLine("Puissance ?", reader);
     
    			Vehicule vehicule = new Vehicule(marque, 
    						Integer.parseInt(cylindree),
    						Integer.parseInt(puissance));
     
    			reader.close();
    			return vehicule;
    		} catch (IOException e) {
    			System.out.println("Erreur d'entree / sortie");
    		} catch (NumberFormatException e) {
    			System.out.println("La cylindree ou la puissance doit etre un nombre");
    		}
    		return null;
    	}
     
    	/** 
             * Attend les entrees utilisateurs de la console pour construire une 
             * voiture, et afficher cette voiture
             */
    	public static void main(String args[]) {
    		Vehicule vehicule = Main.constructCar();
    		if (vehicule != null) {
    			System.out.println(vehicule.toString());
    		}
    	}
    }

  13. #13
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 97
    Par défaut
    Ok merci pour ton aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Création d'un programme de Gestion / compta : langage ?
    Par Alexino2 dans le forum Langages de programmation
    Réponses: 7
    Dernier message: 11/04/2006, 15h00
  2. Réponses: 10
    Dernier message: 31/01/2006, 11h36
  3. Réponses: 2
    Dernier message: 30/01/2006, 22h19
  4. Création installer pour programme
    Par yanndublanche dans le forum Windows
    Réponses: 7
    Dernier message: 11/10/2005, 00h29
  5. [Conception][Strategie] Combien de classes ?
    Par oceane751 dans le forum Général Java
    Réponses: 17
    Dernier message: 07/07/2005, 15h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo