Programme calculateur de temps

coulva Messages postés 1 Date d'inscription lundi 15 novembre 2010 Statut Membre Dernière intervention 26 novembre 2010 - 26 nov. 2010 à 12:08
cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 - 26 nov. 2010 à 19:09
Bonjour,
J'ai un programme a réaliser qui calcul le temps d'utilisation d'une salle.
J'ai mis à peu près tout ce qu'il fallait mais je ne trouve pas mon erreur.


     import java.io.* ;
     import java.util.* ;

public class Main {


    public static void main(String[] args) throws IOException
    {
        
    long date;
    String enseignement;
    int hd;
    int hf;
    String matiere;
    String salle;
    String classe;
    String professeur;
    String nomfich ;
    int var=0;
    String demande;
    
    Activite [] tab = new Activite [100];
    
    nomfich=Lire_chaine.readString("donner le nom du fichier à lire (exemple: Activite.txt):");
    BufferedReader entree = new BufferedReader (new FileReader (nomfich));

    System.out.println("Analyse du fichier texte en cours...");
     
    while(true)
    {String ligneLue = entree.readLine() ;
    StringTokenizer tok = new StringTokenizer(ligneLue, " ");
    if(ligneLue == null) break;

    date=Long.parseLong(tok.nextToken());
    enseignement=tok.nextToken();
    hd=Integer.parseInt(tok.nextToken());
    hf=Integer.parseInt(tok.nextToken());
    matiere=tok.nextToken();
    salle=tok.nextToken();
    classe=tok.nextToken();
    professeur=tok.nextToken();
    
    tab[var]= new Activite(date, enseignement, hd ,hf ,matiere ,salle, classe, professeur);
    var=var+1;

       int i;
       int tu=0;

       System.out.println("Entrez le nom d'une salle");
       demande = Lire.S() ;


          for(i=0 ; i<=var ; i++)
          {

             if(tab[i].salle.equals(demande))
                // demande le numero de la salle pour connaitre le temps d'utilisation
             {
             tu= tu + (tab[i].hf - tab[i].hd);
                // ajoute des durées
             }
                System.out.println("la salle" + tab[i].salle + "a été utilisé pendant"+tu);
                     // affiche le résultat
          }


       int w;
       int ttype=0;
       int taux=0;
       String demande2 ;
       System.out.println("Entrer le type d'enseignement pour calculer son pourcentage dans la salle precedente (Ex : TD)");
       demande2 = Lire.S() ;

       for(w=0 ; w<=var ; w++)
       {
          if((tab[w].enseignement.equals(demande2))&&(tab[w].salle.equals(demande)))
          {
              ttype= ttype + (tab[w].hf - tab[w].hd);
          }
       
            taux = ttype/tu ;
            System.out.println("Dans la salle" + tab[w].salle + ", il y a eu" + taux + "% de" + tab[w].enseignement);
       }

     entree.close();
    }

}
}




Avec ma classe activité qui est :

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package tp3;

/**
 *
 * @author 4trumjor
 */
public class Activite
{
    long date;
    String enseignement;
    int hd;
    int hf;
    String matiere;
    String salle;
    String classe;
    String professeur;


    Activite(long a, String b, int c, int d, String e, String f, String g, String h)
    {
       date=a;
       enseignement=b;
       hd=c;
       hf=d;
       matiere=e;
       salle=f;
       classe=g;
       professeur=h;

    }
}



Et bien sur la classe Lire.java ouverte.

L'erreur viendrait apparemment de "demande = Lire.S();" mais je ne comprends pas pourquoi ...
Pourriez vous m'aider ?

1 réponse

cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 25
26 nov. 2010 à 19:09
Bonjour.
Tu as quoi comme erreur ? Une erreur a l'exécution ou à la compilation ?
J'ai l'impression que tu n'as pas d'import de la classe Lire.
0
Rejoignez-nous