Fondamentalement, j'ai une fonction qui reçoit une matrice bidimensionnelle, ajoute une ligne supplémentaire, puis calcule la somme des colonnes et stocke les résultats pour chaque colonne individuelle de la ligne supplémentaire créée précédemment. Voici mon code:
public static int[][] sum(int[][] array) {
int tempArray[][] = new int[array.length + 1][array[0].length];
for (int column = 0; column < tempArray[0].length; column++) {
int total = 0;
for (int row = 0; row < tempArray.length; row++) {
total += tempArray[row][column];
}
tempArray[tempArray.length][column] = total;
}
return tempArray;
}
3 Réponses :
Vous obtenez ArrayIndExOUPOfbounds parce que vous accédez à l'index plus que la limité du tableau dans la ligne ci-dessous: Remplacez-le en suivant que la ligne résoudrait votre problème: P> Cependant, votre code ne fonctionnera toujours pas car votre logique de sommation a un bogue. Vous calculez le total par la ligne suivante. P> mais votre temparray n'a aucune valeur mais zéros. Pour résoudre ce problème, assurez-vous d'initier le temparray par les valeurs de tableau comme suit: p> espérons que cela résoudra votre problème. Codage heureux! P> p>
Vous n'avez pas initialisé le Ceci résoudra l'index hors problème lié. P> temparraray [] [] [] code>. temparraray [temparray.length] [colonne] = TOTAL P> P> P> P> P> P> P> il à p> temparraray [temparray.length-1] [colonne] = TOTAL CODE> P>
Les solutions mentionnées ne fonctionneront pas au cas où les lignes ont une longueur différente. Par exemple, si la matrice d'entrée est cette solution élimine un tel problème p> et le test p>
Je suis curieux. Dans quelles circonstances nécessiteraient-elles un tableau avec des rangées de longueur variable?
Eh bien, l'auteur tente peut-être de lancer ce programme sur Tetris et il est très limité en mémoire, voici aucun zéros de fin :) Sérieusement, l'auteur ne décrit pas le sujet, la solution la plus générale doit donc être implicite.
@ABRA Je dois faire un programme qui calcule les dépenses par catégorie d'une famille et renvoie les résultats dans le tableau d'origine. Les valeurs ont été entrées à l'origine dans un tableau par l'utilisateur. C'est ce que l'enseignant voulait. Croyez-moi que ce n'est pas mon choix. MDR