Rechercher : dans
Par :

Java.lang.IndexOutOfBoundsException

lili20, le 6 oct 2009 à 18:18:25 
 Signaler ce message aux modérateurs

Bonjour,

j'ai aussi l'erreur java.lang.IndexOutOfBoundsException : Index: 19, Size: 19
à la ligne de code suivante: int[][] matches = ConversationAnalyser.computeMatches2(ConversationLoader.getS­tatesListForLeftOutFiles().get(folderNum), mostLikelyStateSequenceForEachFile);

elle provient de computeMatches2(ConversationLoader.getStatesListForLeftOutFi­les().get(folderNum), mostLikelyStateSequenceForEachFile);

la voici public static int[][] computeMatches2(List<ConversationState> predictedData, List<ConversationState> realData)
{
int[][] matches = null;

matches = new int[ConversationState.values().length][ConversationState.values().length];

for (int i = 0; i < predictedData.size(); i++)
{
matches[predictedData.get(i).ordinal()][realData.get(i).ordinal()]++;
}
return matches;
}

voivi mon main:

public class Main
{

private static int NUM_GLOBAL = 60;


static public void main(String[] args) throws IOException
{
String folderPath = args[0];

ConversationLoader.readObservationsAndStatesForLeaveOneOut(folderPath);

Hmm<ObservationDiscrete<ConversationObservation>> learntHmm = ConversationProcessor.learnHMM_BaumWelch2(ConversationLoader.getObservationsListForThisFolder());
for (int folderNum = 0; folderNum < NUM_GLOBAL; folderNum++) // For each file
{

ConversationProcessor.writeLearntHmmToFile(learntHmm, folderNum);
System.out.println("learntHmm " + folderNum + ":" + learntHmm);

List<ConversationState> mostLikelyStateSequenceForEachFile = new ArrayList<ConversationState>();

mostLikelyStateSequenceForEachFile = ConversationProcessor.getMostLikelyStateSequence(learntHmm, ConversationLoader.getObservationsListForLeftOutFiles().get(folderNum));


int[][] matches = ConversationAnalyser.computeMatches2(ConversationLoader.getStatesListForLeftOutFiles().get(folderNum), mostLikelyStateSequenceForEachFile);

// determine le nombre de matching pr chaque fichier de test
printMatches(matches);

double precision = ConversationAnalyser.computePrecision(matches);
double recall = ConversationAnalyser.computeRecall(matches);
double fscore = ConversationAnalyser.computeFscore(precision, recall);
double accuracy = ConversationAnalyser.computeAccuracy(matches);

System.out.println("Dossier #" + folderNum + "\nPrecision (" + precision + ") Recall (" + recall + ") F-score (" + fscore + ") Accuracy (" + accuracy + ")");
}

}

j'aimerai coriger cette erreur,
Merci a tous ceux qui pourront me répondre.

lili20

Configuration: Windows Vista
Firefox 3.0.14

Meilleures réponses pour « java.lang.IndexOutOfBoundsException » dans :
Java - Caractéristiques du langage VoirFichier source, compilation et machine virtuelle Le fichier source d'un programme écrit en Java est un simple fichier texte dont l'extension est par convention .java. Ce fichier source doit être un fichier texte non formatté, c'est-à-dire un...
Javascript - Introduction au langage Javascript VoirQu'est-ce que le Javascript? Le Javascript est un langage de script incorporé dans un document HTML. Historiquement il s'agit même du premier langage de script pour le Web. Ce langage est un langage de programmation qui permet d'apporter des...
Les langages informatiques VoirLangage informatique On appelle « langage informatique » un langage destiné à décrire l'ensemble des actions consécutives qu'un ordinateur doit exécuter. Un langage informatique est ainsi une façon pratique pour nous (humains) de donner des...
Collection CommentÇaMarche.net