Comment créer max méthode qui obtient 4 nombres et retourne le nombre maximal?
Je suis en train de construire une méthode qui permettrait d'obtenir 4 nombres et retourne le nombre maximum d'entre eux.
J'ai essayé d'écrire ce code à 4 chiffres, mais cela ne fonctionne pas:
D'entrée et de sortie:
double a = Math.max(10, 5, 4, 3);
System.out.println(a);
public static int max(int a, int b, int c, int d) {
if (a > b && a > c && a > d)
return a;
if (b > a && b > c && b > d)
return b;
if (c > a && c > b && c > d)
return c;
if (d > b && d > c && d > a)
return d;
}
- utilisation
Math.max(Math.max(Math.max(a,b),Math.max(c,d)))
- vous pouvez utiliser un
int[]
au lieu de 4int
s aussi - Que faire si deux éléments sont à la fois plus grand? Je suppose que
max(2, 3, 4, 4)
devrait être de 4, mais de quelle façon votre code est censé arriver à ce résultat? - S'il vous plaît (avez-vous dit cela avant?) être plus précis. “Pas de travail” n'est pas une description du problème. Vous devez nous dire exactement ce que votre code ne diffère de la désirée. Vous avez également besoin de citer tous les messages d'erreur exactement.
Vous devez vous connecter pour publier un commentaire.
Je voudrais simplifier cela en introduisant une variable
max
:Vous pouvez également utiliser
Math.max
, comme suggéré par rapide escargot, mais depuis ce qui semble être des devoirs, je préfère la solution algorithmique.Essayer
Math.max
comme ci-dessous:Vous pouvez toujours utiliser une méthode comme ce qui va fonctionner comme vous le souhaitez pour n'importe quel nombre d'entiers:
Appel, par exemple, que:
ici, vous êtes de retour d au lieu de c.
Un moyen de plus pour le faire...