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 :

souci de passage de paramètre ?


Sujet :

avec Java

  1. #1
    En attente de confirmation mail
    Inscrit en
    Septembre 2009
    Messages
    269
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 269
    Points : 96
    Points
    96
    Par défaut souci de passage de paramètre ?
    Bonjour,

    J'ai écris le code suivant, c'est un essai de répertoriage de température sur plusieurs ville, il souhaite connaitre le nombre de fois qu'une température apparait pour faire des minis et des masis plus tard :
    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
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
     
    import java.util.*;
    import java.io.*;
    class Frequence
    		{
    		int jour1;
    		int jour2;
    		public File fic2;
     
    		Frequence(int fjour1,int fjour2,File ficf1)//choisit les jour depuis le début de l'année (plage du jour1 au jour2)
    			{
    			jour1=fjour1;
    			jour2=fjour2;
    			fic2=ficf1;
    			}
    		void lecture(int tab[][])//table des températures d'après fichier lu plus tard
    			{
    			tab=new int[jour2-jour1][60];//60 amplitute thermique on compte les degres nb entiers
    			int nblu=1-1;
    			try
    			{
    			BufferedReader entree = new BufferedReader(new FileReader(fic2));
    			String ligne;
    			try
    			{
    			while(nblu<jour1)// avancé jusqu'au premier jour pris en compte dans le fichier
    				{
    				ligne=entree.readLine();
    				if(ligne==null)break;
    				nblu++;
    				}
    			do
    				{
    				ligne = entree.readLine();
    				if(ligne==null) break;
    				StringTokenizer tk = new StringTokenizer(ligne);
    				int nt = tk.countTokens();
    				int i=0;
    				while(i<nt)
    					{
    					tab[nblu][i]=Integer.parseInt(tk.nextToken());
    					i++;
    					}
    				nblu++;
    				}
    				while(nblu<jour2);// jusqu'au jour terminant l'interval(definit la plage des jour)
    				entree.close();	
     
    			}
    			catch(java.io.IOException e2){System.out.println(" erreur E/S"); }
    			}
    			catch(FileNotFoundException e1){System.out.println(" erreur acces au fichier"); }
     
    			}
     
    		void frequence1(int tabj[][])// cherche à connaitre
    			{
    			tabj=new int[jour2-jour1][60];
    			int[][]tab1=new int[jour2-jour1][20];//20 =nombre de villes observées
    			lecture(tab1);
     
     
    					for(int i=0;i<jour2-jour1;i++)
    						{
    						for(int j=0;j<20;j++)
    							{
    							for(int j1=0;j1<60;j1++)
    								{
    								if(j1==tab1[i][j])
    									tabj[i][j1]++;
    								}
    							}
    						}
     
    			}}
     
     
     
    public class Climat 
    	{
    	public static void main(String args[])
    		{
    		int [][] tabl =new int[6][20];//6=nb_mois 
    		int [][] tabr =new int[6][60];
     
     
     
    		System.out.println("quel fichier à lire ?");
    		Scanner s = new Scanner(System.in);
    		String fichier = s.nextLine();
    		File fic = new File(fichier);
     
    		Frequence premier;
    		premier=new Frequence(0,6,fic);
     
    		premier.lecture(tabl);
    		premier.frequence1(tabr);
    		for(int i=0;i< 6;i++)
    			{
    			for(int i1=0;i1< 60;i1++)
    			System.out.print("*"+tabr[i][i1]);
    			System.out.println();
    			}
     
    		}
    	}
    Le souci, c'est que je n'ai que des zéros et je ne vois pas du tout (sauf peur-être que j'ai passé maladroitement des paramètres, mais comment?

    Pouvez vous m'aider ?

    Merci beaucoup

    Philippe

  2. #2
    En attente de confirmation mail
    Inscrit en
    Septembre 2009
    Messages
    269
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 269
    Points : 96
    Points
    96
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    public class Climat 
    	{
    	public static void main(String args[])
    		{
    		int [][] tabl =new int[6][20];//6=nb_mois 
    		int [][] tabr =new int[6][60];
    Dans le code c'est 6*30 =180 (6 mois de 30 jours)
    depuis le début, c'est une erreur de ma part, j'ai envoyé le fichier antérieur mais ça ne marche pas differemment, désolé

    Philippe

  3. #3
    En attente de confirmation mail
    Inscrit en
    Septembre 2009
    Messages
    269
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 269
    Points : 96
    Points
    96
    Par défaut
    en fait le code juste c'est
    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
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
     
    import java.util.*;
    import java.io.*;
    class Frequence
    		{
    		int jour1;
    		int jour2;
    		public File fic2;
     
    		Frequence(int fjour1,int fjour2,File ficf1)//choisit les jour depuis le début de l'année (plage du jour1 au jour2)
    			{
    			jour1=fjour1;
    			jour2=fjour2;
    			fic2=ficf1;
    			}
    		void lecture(int tab[][])//table des températures d'après fichier lu plus tard
    			{
    			tab=new int[jour2-jour1][60];//60 amplitute thermique on compte les degres nb entiers
    			int nblu=1-1;
    			try
    			{
    			BufferedReader entree = new BufferedReader(new FileReader(fic2));
    			String ligne;
    			try
    			{
    			while(nblu<jour1)// avancé jusqu'au premier jour pris en compte dans le fichier
    				{
    				ligne=entree.readLine();
    				if(ligne==null)break;
    				nblu++;
    				}
    			do
    				{
    				ligne = entree.readLine();
    				if(ligne==null) break;
    				StringTokenizer tk = new StringTokenizer(ligne);
    				int nt = tk.countTokens();
    				int i=0;
    				while(i<nt)
    					{
    					tab[nblu][i]=Integer.parseInt(tk.nextToken());
    					i++;
    					}
    				nblu++;
    				}
    				while(nblu<jour2);// jusqu'au jour terminant l'interval(definit la plage des jour)
    				entree.close();	
     
    			}
    			catch(java.io.IOException e2){System.out.println(" erreur E/S"); }
    			}
    			catch(FileNotFoundException e1){System.out.println(" erreur acces au fichier"); }
     
    			}
     
    		void frequence1(int tabj[][])// cherche à connaitre
    			{
    			tabj=new int[jour2-jour1][60];
    			int[][]tab1=new int[jour2-jour1][20];//20 =nombre de villes observées
    			lecture(tab1);
     
     
    					for(int i=0;i<jour2-jour1;i++)
    						{
    						for(int j=0;j<20;j++)
    							{
    							for(int j1=0;j1<60;j1++)
    								{
    								if(j1==tab1[i][j])
    									tabj[i][j1]++;
    								}
    							}
    						}
     
    			}}
     
     
     
    public class Climat 
    	{
    	public static void main(String args[])
    		{
    		int [][] tabl =new int[180][20];
    		int [][] tabr =new int[180][60];
     
     
     
    		System.out.println("quel fichier à lire ?");
    		Scanner s = new Scanner(System.in);
    		String fichier = s.nextLine();
    		File fic = new File(fichier);
     
    		Frequence premier;
    		premier=new Frequence(0,180,fic);
     
    		premier.lecture(tabl);
    		premier.frequence1(tabr);
    		for(int i=0;i< 180;i++)
    			{
    			for(int i1=0;i1< 60;i1++)
    			System.out.print("*"+tabr[i][i1]);
    			System.out.println();
    			}
     
    		}
    	}
    et ça ne marche pas !

    voila, si vous avez une idée !

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 342
    Points : 419
    Points
    419
    Par défaut
    affiche ton tableau a la fin de la méthode lecture

    ceci peux t'aidé

  5. #5
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 553
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 553
    Points : 21 611
    Points
    21 611
    Par défaut
    À ta méthode lecture, tu lui passes un tableau, et à l'intérieur tu construis un autre tableau et c'est cet autre tableau que tu remplis.

    Quel intérêt d'en passer un, dans ce cas ?
    - Soit tu ne construis pas d'autre tableau, tu remplis celui qu'on te passe dans la méthode.
    - Soit tu ne demandes pas de tableau en paramètre, tu le construis à l'intérieur de la méthode, et tu le renvoies avec un return pour que l'appelant puisse s'en servir.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    En attente de confirmation mail
    Inscrit en
    Septembre 2009
    Messages
    269
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 269
    Points : 96
    Points
    96
    Par défaut
    merci, je faisais effectivement cette bétise

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

Discussions similaires

  1. Soucis de passage de paramètre d'un FMOD_SOUND
    Par caps lock dans le forum FMOD
    Réponses: 2
    Dernier message: 17/06/2012, 18h16
  2. Réponses: 22
    Dernier message: 04/04/2012, 11h17
  3. [XSL] Passage de paramètres à un template
    Par pantin dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 27/06/2003, 13h28
  4. passage de paramètres
    Par pram dans le forum XMLRAD
    Réponses: 5
    Dernier message: 18/02/2003, 17h28
  5. passage en paramètre d'un array dynamique 2D
    Par Guigui_ dans le forum Langage
    Réponses: 4
    Dernier message: 27/11/2002, 19h47

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