un camarade et moi travaillons sur un projet scolaire, où nous devons faire des fichiers et des tableaux, voici la partie de notre code qui ne marche pas :
/////
Compteur = 1;
NouveauScore = readInt("Veuiller saisir le nouveau score :");
NouveauJoueur = readLine("Veuiller saisir votre nom :");
Nous pensons qu'il y a peut-être un problème d'incompatibilité entre printwriter et write, mais nous ne savons pas comment le régler.
Les erreurs affichées dans la console sont les suivantes :
Exception in thread "Thread-3" java.lang.ArrayIndexOutOfBoundsException: 10
at ScoreComet.run(ScoreComet.java:202)
at acm.program.Program.runHook(Program.java:1568)
at acm.program.Program.startRun(Program.java:1557)
at acm.program.AppletStarter.run(Program.java:1895)
at java.lang.Thread.run(Unknown Source)
Merci d'avoir lu jusqu'ici, en espérant que vous pourrez répondre à notre problème ^^
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
David Larochette
Le 11/05/2020 à 22:09, BKCelia a écrit :
Bonsoir, un camarade et moi travaillons sur un projet scolaire, où nous devons faire des fichiers et des tableaux, voici la partie de notre code qui ne marche pas : ///// Compteur = 1; NouveauScore = readInt("Veuiller saisir le nouveau score :"); NouveauJoueur = readLine("Veuiller saisir votre nom :"); if(NouveauScore >Integer.valueOf(Scoretrie [9][0])) { Scoretrie [9][0] = Integer.toString(NouveauScore); Scoretrie [9][1] = NouveauJoueur; try{ FileWriter fich = new FileWriter("Score.txt", true); PrintWriter ASortie = new PrintWriter(fich); for(k = 0; k<18; k++) { int reste = Compteur % 2; if(reste != 0){ ASortie.write(Scoretrie [NS][0]); NS = NS + 1; } else { ASortie.write(Scoretrie [NJ][1]); NJ = NJ + 1; } } ASortie.close(); } catch (IOException e){ println("Erreur Traitement fichier:"+ e ); } } ///// Nous pensons qu'il y a peut-être un problème d'incompatibilité entre printwriter et write, mais nous ne savons pas comment le régler. Les erreurs affichées dans la console sont les suivantes : Exception in thread "Thread-3" java.lang.ArrayIndexOutOfBoundsException: 10 at ScoreComet.run(ScoreComet.java:202) at acm.program.Program.runHook(Program.java:1568) at acm.program.Program.startRun(Program.java:1557) at acm.program.AppletStarter.run(Program.java:1895) at java.lang.Thread.run(Unknown Source) Merci d'avoir lu jusqu'ici, en espérant que vous pourrez répondre à notre problème ^^
Je ne sais pas quelle est la ligne 202, mais il y a fort à parier qu'il s'agit soit de ASortie.write(Scoretrie [NS][0]); soit de ASortie.write(Scoretrie [NJ][1]); avec la définition que tu nous avait donnée auparavant : public static String[][] Scoretrie = new String[10][2]; Une hypothèse serait que NS et/ou NJ sont mal initialisées, auquel cas leur valeur peut devenir inférieure à 0 ou supérieure à 9. Pour plus de sécurité, tu pourrais aussi simplifier ta boucle en : for (k = 0; k <= 9; k++) { ASortie.write(Scoretrie [k][0]); ASortie.write(Scoretrie [k][1]); }
Le 11/05/2020 à 22:09, BKCelia a écrit :
Bonsoir,
un camarade et moi travaillons sur un projet scolaire, où nous devons faire des
fichiers et des tableaux, voici la partie de notre code qui ne marche pas :
/////
Compteur = 1;
NouveauScore = readInt("Veuiller saisir le nouveau score :");
NouveauJoueur = readLine("Veuiller saisir votre nom :");
Nous pensons qu'il y a peut-être un problème d'incompatibilité entre printwriter
et write, mais nous ne savons pas comment le régler.
Les erreurs affichées dans la console sont les suivantes :
Exception in thread "Thread-3" java.lang.ArrayIndexOutOfBoundsException: 10
at ScoreComet.run(ScoreComet.java:202)
at acm.program.Program.runHook(Program.java:1568)
at acm.program.Program.startRun(Program.java:1557)
at acm.program.AppletStarter.run(Program.java:1895)
at java.lang.Thread.run(Unknown Source)
Merci d'avoir lu jusqu'ici, en espérant que vous pourrez répondre à notre
problème ^^
Je ne sais pas quelle est la ligne 202, mais il y a fort à parier qu'il
s'agit soit de
ASortie.write(Scoretrie [NS][0]);
soit de
ASortie.write(Scoretrie [NJ][1]);
avec la définition que tu nous avait donnée auparavant :
public static String[][] Scoretrie = new String[10][2];
Une hypothèse serait que NS et/ou NJ sont mal initialisées, auquel cas
leur valeur peut devenir inférieure à 0 ou supérieure à 9.
Pour plus de sécurité, tu pourrais aussi simplifier ta boucle en :
for (k = 0; k <= 9; k++) {
ASortie.write(Scoretrie [k][0]);
ASortie.write(Scoretrie [k][1]);
}
Bonsoir, un camarade et moi travaillons sur un projet scolaire, où nous devons faire des fichiers et des tableaux, voici la partie de notre code qui ne marche pas : ///// Compteur = 1; NouveauScore = readInt("Veuiller saisir le nouveau score :"); NouveauJoueur = readLine("Veuiller saisir votre nom :"); if(NouveauScore >Integer.valueOf(Scoretrie [9][0])) { Scoretrie [9][0] = Integer.toString(NouveauScore); Scoretrie [9][1] = NouveauJoueur; try{ FileWriter fich = new FileWriter("Score.txt", true); PrintWriter ASortie = new PrintWriter(fich); for(k = 0; k<18; k++) { int reste = Compteur % 2; if(reste != 0){ ASortie.write(Scoretrie [NS][0]); NS = NS + 1; } else { ASortie.write(Scoretrie [NJ][1]); NJ = NJ + 1; } } ASortie.close(); } catch (IOException e){ println("Erreur Traitement fichier:"+ e ); } } ///// Nous pensons qu'il y a peut-être un problème d'incompatibilité entre printwriter et write, mais nous ne savons pas comment le régler. Les erreurs affichées dans la console sont les suivantes : Exception in thread "Thread-3" java.lang.ArrayIndexOutOfBoundsException: 10 at ScoreComet.run(ScoreComet.java:202) at acm.program.Program.runHook(Program.java:1568) at acm.program.Program.startRun(Program.java:1557) at acm.program.AppletStarter.run(Program.java:1895) at java.lang.Thread.run(Unknown Source) Merci d'avoir lu jusqu'ici, en espérant que vous pourrez répondre à notre problème ^^
Je ne sais pas quelle est la ligne 202, mais il y a fort à parier qu'il s'agit soit de ASortie.write(Scoretrie [NS][0]); soit de ASortie.write(Scoretrie [NJ][1]); avec la définition que tu nous avait donnée auparavant : public static String[][] Scoretrie = new String[10][2]; Une hypothèse serait que NS et/ou NJ sont mal initialisées, auquel cas leur valeur peut devenir inférieure à 0 ou supérieure à 9. Pour plus de sécurité, tu pourrais aussi simplifier ta boucle en : for (k = 0; k <= 9; k++) { ASortie.write(Scoretrie [k][0]); ASortie.write(Scoretrie [k][1]); }
bkcelia
Le mardi 12 Mai 2020 à 18:29 par David Larochette :
Le 11/05/2020 à 22:09, BKCelia a écrit :
Bonsoir, un camarade et moi travaillons sur un projet scolaire, où nous devons faire des fichiers et des tableaux, voici la partie de notre code qui ne marche pas : ///// Compteur = 1; NouveauScore = readInt("Veuiller saisir le nouveau score :"); NouveauJoueur = readLine("Veuiller saisir votre nom :"); if(NouveauScore >Integer.valueOf(Scoretrie [9][0])) { Scoretrie [9][0] = Integer.toString(NouveauScore); Scoretrie [9][1] = NouveauJoueur; try{ FileWriter fich = new FileWriter("Score.txt", true); PrintWriter ASortie = new PrintWriter(fich); for(k = 0; k<18; k++) { int reste = Compteur % 2; if(reste != 0){ ASortie.write(Scoretrie [NS][0]); NS = NS + 1; } else { ASortie.write(Scoretrie [NJ][1]); NJ = NJ + 1; } } ASortie.close(); } catch (IOException e){ println("Erreur Traitement fichier:"+ e ); } } ///// Nous pensons qu'il y a peut-être un problème d'incompatibilité entre printwriter et write, mais nous ne savons pas comment le régler. Les erreurs affichées dans la console sont les suivantes : Exception in thread "Thread-3" java.lang.ArrayIndexOutOfBoundsException: 10 at ScoreComet.run(ScoreComet.java:202) at acm.program.Program.runHook(Program.java:1568) at acm.program.Program.startRun(Program.java:1557) at acm.program.AppletStarter.run(Program.java:1895) at java.lang.Thread.run(Unknown Source) Merci d'avoir lu jusqu'ici, en espérant que vous pourrez répondre à notre problème ^^
Je ne sais pas quelle est la ligne 202, mais il y a fort à parier qu'il s'agit soit de ASortie.write(Scoretrie [NS][0]); soit de ASortie.write(Scoretrie [NJ][1]); avec la définition que tu nous avait donnée auparavant : public static String[][] Scoretrie = new String[10][2]; Une hypothèse serait que NS et/ou NJ sont mal initialisées, auquel cas leur valeur peut devenir inférieure à 0 ou supérieure à 9. Pour plus de sécurité, tu pourrais aussi simplifier ta boucle en : for (k = 0; k <= 9; k++) { ASortie.write(Scoretrie [k][0]); ASortie.write(Scoretrie [k][1]); }
Merci pour votre réponse mais au final c'était juste une erreur bête de notre part, il manquais la ligne qui rajoutait au compteur +1 à chaque fois ^^
Le mardi 12 Mai 2020 à 18:29 par David Larochette :
> Le 11/05/2020 à 22:09, BKCelia a écrit :
>> Bonsoir,
>>
>> un camarade et moi travaillons sur un projet scolaire, où nous devons
>> faire des
>> fichiers et des tableaux, voici la partie de notre code qui ne marche pas :
>>
>> /////
>> Compteur = 1;
>> NouveauScore = readInt("Veuiller saisir le nouveau score :");
>> NouveauJoueur = readLine("Veuiller saisir votre nom :");
>>
>> if(NouveauScore >Integer.valueOf(Scoretrie [9][0])) {
>> Scoretrie [9][0] = Integer.toString(NouveauScore);
>> Scoretrie [9][1] = NouveauJoueur;
>> try{
>> FileWriter fich = new FileWriter("Score.txt", true);
>> PrintWriter ASortie = new PrintWriter(fich);
>> for(k = 0; k<18; k++) {
>> int reste = Compteur % 2;
>> if(reste != 0){
>> ASortie.write(Scoretrie [NS][0]);
>> NS = NS + 1;
>> }
>> else {
>> ASortie.write(Scoretrie [NJ][1]);
>> NJ = NJ + 1;
>> }
>> }
>> ASortie.close();
>> }
>> catch (IOException e){
>> println("Erreur Traitement fichier:"+ e );
>> }
>> }
>> /////
>>
>> Nous pensons qu'il y a peut-être un problème
>> d'incompatibilité entre printwriter
>> et write, mais nous ne savons pas comment le régler.
>> Les erreurs affichées dans la console sont les suivantes :
>>
>> Exception in thread "Thread-3"
>> java.lang.ArrayIndexOutOfBoundsException: 10
>> at ScoreComet.run(ScoreComet.java:202)
>> at acm.program.Program.runHook(Program.java:1568)
>> at acm.program.Program.startRun(Program.java:1557)
>> at acm.program.AppletStarter.run(Program.java:1895)
>> at java.lang.Thread.run(Unknown Source)
>>
>>
>>
>> Merci d'avoir lu jusqu'ici, en espérant que vous pourrez
>> répondre à notre
>> problème ^^
>>
>>
> Je ne sais pas quelle est la ligne 202, mais il y a fort à parier qu'il
> s'agit soit de
> ASortie.write(Scoretrie [NS][0]);
> soit de
> ASortie.write(Scoretrie [NJ][1]);
>
> avec la définition que tu nous avait donnée auparavant :
> public static String[][] Scoretrie = new String[10][2];
>
> Une hypothèse serait que NS et/ou NJ sont mal initialisées,
> auquel cas
> leur valeur peut devenir inférieure à 0 ou supérieure
> à 9.
>
> Pour plus de sécurité, tu pourrais aussi simplifier ta boucle en
> :
> for (k = 0; k <= 9; k++) {
> ASortie.write(Scoretrie [k][0]);
> ASortie.write(Scoretrie [k][1]);
> }
Merci pour votre réponse mais au final c'était juste une erreur bête de notre part, il manquais la ligne qui rajoutait au compteur +1 à chaque fois ^^
Le mardi 12 Mai 2020 à 18:29 par David Larochette :
Le 11/05/2020 à 22:09, BKCelia a écrit :
Bonsoir, un camarade et moi travaillons sur un projet scolaire, où nous devons faire des fichiers et des tableaux, voici la partie de notre code qui ne marche pas : ///// Compteur = 1; NouveauScore = readInt("Veuiller saisir le nouveau score :"); NouveauJoueur = readLine("Veuiller saisir votre nom :"); if(NouveauScore >Integer.valueOf(Scoretrie [9][0])) { Scoretrie [9][0] = Integer.toString(NouveauScore); Scoretrie [9][1] = NouveauJoueur; try{ FileWriter fich = new FileWriter("Score.txt", true); PrintWriter ASortie = new PrintWriter(fich); for(k = 0; k<18; k++) { int reste = Compteur % 2; if(reste != 0){ ASortie.write(Scoretrie [NS][0]); NS = NS + 1; } else { ASortie.write(Scoretrie [NJ][1]); NJ = NJ + 1; } } ASortie.close(); } catch (IOException e){ println("Erreur Traitement fichier:"+ e ); } } ///// Nous pensons qu'il y a peut-être un problème d'incompatibilité entre printwriter et write, mais nous ne savons pas comment le régler. Les erreurs affichées dans la console sont les suivantes : Exception in thread "Thread-3" java.lang.ArrayIndexOutOfBoundsException: 10 at ScoreComet.run(ScoreComet.java:202) at acm.program.Program.runHook(Program.java:1568) at acm.program.Program.startRun(Program.java:1557) at acm.program.AppletStarter.run(Program.java:1895) at java.lang.Thread.run(Unknown Source) Merci d'avoir lu jusqu'ici, en espérant que vous pourrez répondre à notre problème ^^
Je ne sais pas quelle est la ligne 202, mais il y a fort à parier qu'il s'agit soit de ASortie.write(Scoretrie [NS][0]); soit de ASortie.write(Scoretrie [NJ][1]); avec la définition que tu nous avait donnée auparavant : public static String[][] Scoretrie = new String[10][2]; Une hypothèse serait que NS et/ou NJ sont mal initialisées, auquel cas leur valeur peut devenir inférieure à 0 ou supérieure à 9. Pour plus de sécurité, tu pourrais aussi simplifier ta boucle en : for (k = 0; k <= 9; k++) { ASortie.write(Scoretrie [k][0]); ASortie.write(Scoretrie [k][1]); }
Merci pour votre réponse mais au final c'était juste une erreur bête de notre part, il manquais la ligne qui rajoutait au compteur +1 à chaque fois ^^