Bonjour,
Toujours mes problèmes de climat.
J'ai écrit un programme que je n'ai pas su raccourcir pour vous le présenter.
Il a un probleme de ArrauOutOfBoundsException ligne 81 et 96 à l'execution
pourtant tout à l'air d'aller bien
Je vous présente le code
à l'execution il demande un fichier, moi je lui donne un fichier .prn d'une centaine de ligne de 20 chiffres, ici il ne travaille que sur les 31 premières lignes.
j'ai fait des test, changer le nom des variables, du fichiers il semble que c'est dans frequence1 que le i ne veut pas avancer (au dela de 3) !
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
107 import java.util.*; import java.io.*; class Plage { File fic; int nbtemp1; int nbtemp2;//definiront les périodes de relevés int [][]tab1=new int[nbtemp2][60];//resultats par températures int [][]tabl=new int[nbtemp2][20];//ma présentation (20 villes) Plage(int nbftemp1,int nbftemp2)//définit la période d'observation { nbtemp1=nbftemp1; nbtemp2=nbftemp2;//constructeur je donnne 0ànbftemps } int gettab1(int i,int j) { return(tab1[i][j]); } int gettabl(int i,int j) { return(tabl[i][j]); } int getnbtemp2() { return nbtemp2; } void add1()//calcul la fréquence cumulées des températures { tabl=new int[nbtemp2][20]; int nblu=1-1; try { System.out.println("quel fichier ?"); Scanner s = new Scanner(System.in); String fichier = s.nextLine(); fic =new File(fichier); BufferedReader entree = new BufferedReader(new FileReader(fic)); String ligne; try { while(nblu<nbtemp2) { ligne = entree.readLine(); if(ligne==null) break; StringTokenizer tk = new StringTokenizer(ligne); int nt = tk.countTokens(); int i=0; while(tk.hasMoreTokens() ) { tabl[nblu][i]=Integer.parseInt(tk.nextToken()); i++; } nblu++; } entree.close(); } catch(java.io.IOException e2){System.out.println(" essaye d'acceder au E/S"); } } catch(FileNotFoundException e1){System.out.println(" essaye d'acceder au fichier"); } } void frequence1() { add1(); for(int i=0;i<nbtemp2;i++) { for(int j=0;j<20;j++) { for(int j1=0;j1<70;j1++) { if(j1+1==tabl[i][j]) tab1[i][j1+1]++; } } } }} public class Frequenceessaiclim { public static void main(String args[]) { Plage premier = new Plage(0,31);//je choisit les 31 //derniers jours d'observation (c'est un essai) premier.frequence1(); int ta=premier.getnbtemp2();//c'était tentatives de debug System.out.print(ta);//idem for(int i=0;i<ta;i++)//je garde la variable stupide issue du debug, çà change rien { for(int j=0; j<60;j++) { int b=premier.gettab1(i,j); System.out.print(b+"*"); } System.out.println(); } } }
Pouvez vous m'aider
merci beaucoup
Philippe
Partager