SOS probleme en java
Répondre à la discussion
Affichage des résultats 1 à 1 sur 1

SOS probleme en java



  1. #1
    invite9660f2d2

    Unhappy SOS probleme en java


    ------

    Bonjour à tous,
    alors voila, la j'ai un probleme que je ne sais pas resoudre, mais alors pas du tout (bon en meme temps jsuis débutant..)
    Je fais un programme pour décomposer un fichier, et utiliser ses données.
    Donc en fait j'ai un fichier de terrains, avec formes, dimensions, lieu ou ils se trouvent avec des references de proprietaires;
    Ensuite j'ai un fichier avec les tarifs du metre carré selon le lieu.
    Le but est d'afficher les biens de chaque proprietaire sachant que un mm proprietaire peut avoir plusieurs terrains dan sdifferents lieux.
    Bref tout va bien, le proramme s'execute sans probleme,mais quand je demande de l'afficher, il m'affiche deux fois le meme proprietaire et m'en oublie un...(avec la premiere fois la bonne surface et la seconde, la surface de celui qui manque )
    donc je ne sais pas comment faire.
    J'ai essayé de localiser le probleme, on dirait qu'il ne lit pas le proprietaire manquant...
    donc concernant les proprio ca donne:
    reference forme, dimension1 dimension 2 Lieu
    P231 C 12.75 0 Colmar
    S304 R 15 20 1Obernai
    P231 C 20 0 Barr
    S104 R 57.5 52.35 Strasbourg
    S442 T 23 32.60 Mulhouse
    P231 C 21 0 Nancy
    S442 R 73.25 37.10 Paris
    P211 T 69.50 55.40 Laval
    P231 C 61 0 Poitiers

    et le programme:

    Code:
    import fr.insa.goepp.Lire;
    import java.io.* ;
    import java.util.* ; // pour StringTokenizer
    
    public class Decompose_Chaine
    { public static void main (String args[]) throws IOException
    { String forme, lieu, lieu2,reference ;
    int i,j,initialisation=0,c=0,posmini=0;float Dim1, Dim2, Prix;
    double S=0,patri=0,P=0;
    boolean ajouter, permute;
    Proprietaire[]p=new Proprietaire[100];
    BufferedReader entree1 = new BufferedReader (new FileReader ("terrains.txt")) ;
    while (true)
    { String ligneLue = entree1.readLine() ;
    if (ligneLue == null) break ;
    StringTokenizer k = new StringTokenizer (ligneLue, " ") ;
    reference=k.nextToken();
    ajouter=true;
    if(initialisation==0){
    p[0]=new Proprietaire(reference,0);
    initialisation=1;
    c=++c;
    }
    
    else{
    for(i=0;i<c;++i){
    if(reference.equals(p[i].reference)){
    ajouter=false;
    }
    }
    if(ajouter=true){
    p[c]=new Proprietaire(reference,0);
    ++c;
    }
    }
    }
    entree1.close(); //APPAREMENT CA BUGGE ENTRE LE DEBUT ET ICI.
    initialisation=0;
    BufferedReader entree2 = new BufferedReader (new FileReader ("terrains.txt")) ;
    while (true)
    { String ligneLue = entree2.readLine() ;
    if (ligneLue == null) break ;
    StringTokenizer l = new StringTokenizer (ligneLue, " ") ;
    reference= l.nextToken();
    forme= l.nextToken();
    Dim1 = Float.parseFloat (l.nextToken()) ;
    Dim2 = Float.parseFloat (l.nextToken()) ;
    if (forme.equals("C")){
    S=3.14*(Dim1*Dim1);
    }
    if (forme.equals("R")){
    S=(Dim1*Dim2);
    }
    if (forme.equals("T")){
    S=((Dim1*Dim2)/2);
    }
    lieu= l.nextToken();
    BufferedReader entree3 = new BufferedReader (new FileReader ("Tarifs.txt")) ;
    while (true)
    { String ligneLue2 = entree3.readLine() ;
    if (ligneLue2 == null) break ;
    StringTokenizer m = new StringTokenizer (ligneLue2, " ") ;
    lieu2= m.nextToken();
    Prix = Float.parseFloat (m.nextToken()) ;
    if(lieu.equals(lieu2)){
    P=Prix*(S/100);
    }
    }
    if(initialisation==0){
    p[0]=new Proprietaire(reference,P);
    initialisation=1;
    }
    else{
    for (i=0; i<5; i++){
    if(reference.equals(p[i].reference)){
    p[i].patri=p[i].patri+(P);
    }
    }
    }
    entree3.close () ;
    }
    entree2.close () ;
    permute=true;
    while(permute){
    permute=false;
    for(i=0; i<4; i++){
    if(p[i].patri<p[i+1].patri){
    Proprietaire temp=p[i];
    p[i]=p[i+1];
    p[i+1]=temp;
    permute=true;
    }
    }
    }
    System.out.println("proprietaires classés dans l'ordre décroissant de patrimoine");
    for(i=0; i<5; i++){
    System.out.println(p[i].reference+"\t");
    }
    System.out.println("patrimoines correspondants");
    for(i=0; i<5; i++){
    System.out.println(p[i].patri);
    }
    }// Fin main()
    } //Fin classe



    Merci d'avance pour vos reponses parce que la c'est limite la crise!lool

    Merci d'utiliser la balise "code" pour poster des lignes de programme.

    yoda1234.

    -----
    Dernière modification par yoda1234 ; 13/12/2007 à 07h03.

Discussions similaires

  1. problème pour installer java
    Par invite2d0ff016 dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 09/11/2007, 21h56
  2. probleme de programation sous java
    Par bird12358 dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 21/09/2007, 20h15
  3. problème avec java
    Par invite0cbe5157 dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 04/02/2007, 01h52
  4. Problème d'exécution JAVA
    Par invited82a1853 dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 29/11/2005, 10h31
  5. Probleme Java/frontpage/I.E
    Par invite79e785d6 dans le forum Internet - Réseau - Sécurité générale
    Réponses: 8
    Dernier message: 16/04/2005, 11h32
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...