J'essaie de trouver la meilleure façon d'ajouter des valeurs de tableau lorsqu'elles dépassent une certaine longueur. Le programme permettra à un utilisateur de saisir des valeurs dans le tableau. Une fois que l'utilisateur entre le nombre de nombres (peut être autant qu'il le souhaite). Les nombres ne doivent pas dépasser 6 colonnes, et s'ils le font, ils doivent être ajoutés de droite à gauche du tableau. Voir ci-dessous
Les 12 chiffres saisis par l'utilisateur:
arrNumbers = new int[] { 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6};
Un nouveau tableau devrait être créé qui ressemblera à ceci:
newArrNumbers = int [2, 4, 6, 8, 10, 12]
Résultat en seulement 6 emplacements.
Je n'ai aucune idée de la façon de coder cela. Je sais seulement que cela pourrait être possible avec une déclaration if comme ci-dessous. Je suis débutant et j'aimerais connaître une solution d'une personne expérimentée.
if (arrNumbers.length > 6)
Je pense que ce que tu cherches c'est ça
int[] arrNumbers = new int[] {1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6};
int[] res = new int[6];
// iterate over the initial array and chunk it. 6 will be our chunk per requirements.
for (int i = 0; i < arrNumbers.length; i += 6) {
// create a sub array for the first 6 numbers.
int[] ints = Arrays.copyOfRange(arrNumbers, i, Math.min(arrNumbers.length, i + 6));
// add the first chunk to our resulting array. Repeat until needed.
for (int j = 0; j < ints.length; j++) {
res[j] += ints[j];
}
}
Résultat: res: {2, 4, 6, 8, 10, 12}
Cela fonctionnera pour n'importe quelle taille de tableau pour la arrNumbers
variable.
Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.
En cas d'infraction, veuillez [email protected] Supprimer.
laisse moi dire quelques mots