Je pratique avec des tableaux et je veux juste imprimer la valeur max de ce tableau pour l'instant, mais je ne suis pas capable de comprendre cela, j'ai essayé de regarder partout. S'il vous plaît quelqu'un expliquer. Il compile sans erreurs, mais n'imprime pas la valeur maximale. p> p>
4 Réponses :
Votre code fonctionne, il vous suffit d'imprimer la sortie de votre méthode:
Vous avez oublié d'appeler la fonction résultat: p>
Imprimez simplement votre console en passant par une manière et basée sur les conventions de code Java en minuscule pour les variables dans votre tableau de boîtier:
import java.util.*; public class Practice { public static void main(String[] args) { int[] array = {5, 7, 2, 10}; System.out.println(getMaxValue(array)); } public static int getMaxValue(int[] array) { int maxValue = array[0]; for (int i = 1; i < array.length; i++) { if (array[i] > maxValue) { maxValue = array[i]; } } return maxValue; } }
Lorsque vous pratiquez avec des tableaux, vous pouvez utiliser des flux Java, comme suit:
public static void main(String[] args) { int[] array = {5, 7, 2, 10}; Integer max = IntStream.of(array).max().orElseThrow(null); System.out.println(max); }
Pourquoi pensez-vous que cela devrait imprimer quoi que ce soit?
Vous n'apparaissez jamais appeler
getmaxvalue code> ou l'avoir imprimé n'importe où.
Ça marche bien;) ... Vous venez d'appeler
getmaxvalue code>. Il suffit de remplacer
int [] array = {5, 7, 2, 10}; code> pour
system.out.printf ("% s", getMaxValue (nouveau int [] {5, 7, 2, 10})); code>
Note latérale: votre code pour trouver la valeur max est incorrect. Les matrices commencent à compter à 0. Vous sautez donc la première valeur en commençant votre boucle à 1
Pas vraiment - la première valeur est lue au-dessus de la boucle.