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 :
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?
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(); } } }
Pouvez vous m'aider ?
Merci beaucoup
Philippe
Partager