Demande d'explicat d'une instruction java!!!
Résolu/Fermé
Bonjour,
je voudrais savoir ce que ça veut bien signifier ce bout de code java,la premiére est une affectation du resultat d'une methode length() à une cariable de type double "len",la secone est aussi une affectation à la même variable :s mais ce qui suit càd ""(len>MINLEN) ? len : MINLEN;"" je comprends pas du tout c'est nouveau pour moi,est ce que cette notation a un nom,....et que peut elle bien signifier:
double len = length();
len = (len >= MINLEN) ? len : MINLEN;
Merci pour votre aide.
je voudrais savoir ce que ça veut bien signifier ce bout de code java,la premiére est une affectation du resultat d'une methode length() à une cariable de type double "len",la secone est aussi une affectation à la même variable :s mais ce qui suit càd ""(len>MINLEN) ? len : MINLEN;"" je comprends pas du tout c'est nouveau pour moi,est ce que cette notation a un nom,....et que peut elle bien signifier:
double len = length();
len = (len >= MINLEN) ? len : MINLEN;
Merci pour votre aide.
A voir également:
- Demande d'explicat d'une instruction java!!!
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Eclipse java - Télécharger - Langages
- Java runtime environment - Télécharger - Langages
4 réponses
mype
Messages postés
2435
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
16 août 2010
436
17 avril 2009 à 17:50
17 avril 2009 à 17:50
c'est une notation de test
si (len >= MINLEN) alors len sera egal a len sinon len sera egal a MINLEN
si (len >= MINLEN) alors len sera egal a len sinon len sera egal a MINLEN
mype
Messages postés
2435
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
16 août 2010
436
17 avril 2009 à 18:20
17 avril 2009 à 18:20
oui c'est equivalent a
apres pourquoi le programmeur a choisi cette notation... je sais pas c'est un choix de sa part c'est tout
if(len<MINLEN) len=MINLEN;
apres pourquoi le programmeur a choisi cette notation... je sais pas c'est un choix de sa part c'est tout
Utilisateur anonyme
17 avril 2009 à 19:18
17 avril 2009 à 19:18
Salut,
-Désolé, mais
double len = length(); ne veut rien dire.
length() ne s'applique qu'à un String et permet d'obtenir la longueur d'un objet String.
Exemple:
String toto = "Bonjour,";
int len = toto.length();
System.out.println("len = " + len + "\n");
et donnera len = 8
-len = (len >= MINLEN) ? len : MINLEN;
Ici on a certainement voulu contrôler que len est bien supérieure ou égale à la valeur contenue dans MINLEN, mais encore une fois c'est faut.
Exemple avec le résultat obtenu ci-dessus:
int minlen = 5; // je préfère minlen à MINLEN
System.out.println("Avec minlen = " + minlen + "\n");
if (len >= minlen)
System.out.println("len " + len + "est bien > ou = à " + minlen + " C'est bon !!!\n");
Par contre si on avait:
minlen = 10;
System.out.println("Avec minlen = " + minlen + "\n");
if (len >= minlen)
System.out.println("len = " + len + "est < à " + minlen + " C'est faux !!!")
Cordialement,
Dan
-Désolé, mais
double len = length(); ne veut rien dire.
length() ne s'applique qu'à un String et permet d'obtenir la longueur d'un objet String.
Exemple:
String toto = "Bonjour,";
int len = toto.length();
System.out.println("len = " + len + "\n");
et donnera len = 8
-len = (len >= MINLEN) ? len : MINLEN;
Ici on a certainement voulu contrôler que len est bien supérieure ou égale à la valeur contenue dans MINLEN, mais encore une fois c'est faut.
Exemple avec le résultat obtenu ci-dessus:
int minlen = 5; // je préfère minlen à MINLEN
System.out.println("Avec minlen = " + minlen + "\n");
if (len >= minlen)
System.out.println("len " + len + "est bien > ou = à " + minlen + " C'est bon !!!\n");
Par contre si on avait:
minlen = 10;
System.out.println("Avec minlen = " + minlen + "\n");
if (len >= minlen)
System.out.println("len = " + len + "est < à " + minlen + " C'est faux !!!")
Cordialement,
Dan
Bonjour,
c'est vrai que length() est une méthode prédéfinie et qui permet de donner la longueur d'une chaine de caractères dans le cadre d'une instance d'un objet de type String,sauf que de dans le cas présent,le length() est une méthode définie par le programmeur au niveau de la même classe où se trouve le code pré-cité et qui permet de retourner une distance euclidienne.
encore une question qui se pose: ne devrait on pas précédé length(),par une instance de l'objet,en l'occurence,un this par exemple?(de la maniéré suivante:this.length())!!!
Respectueusement,
KAZIS.
c'est vrai que length() est une méthode prédéfinie et qui permet de donner la longueur d'une chaine de caractères dans le cadre d'une instance d'un objet de type String,sauf que de dans le cas présent,le length() est une méthode définie par le programmeur au niveau de la même classe où se trouve le code pré-cité et qui permet de retourner une distance euclidienne.
encore une question qui se pose: ne devrait on pas précédé length(),par une instance de l'objet,en l'occurence,un this par exemple?(de la maniéré suivante:this.length())!!!
Respectueusement,
KAZIS.
Utilisateur anonyme
29 avril 2009 à 18:31
29 avril 2009 à 18:31
Salut,
Pour ceux qui voudraient plus d'infos sur l'utilisation de cette "notation" je propose cet exemple plus parlant:
J'ai par exemple un nombre de jours dans int nbJours et je veux afficher par exemple:
Dans 25 jours je serai en vacances ou Dans 1 jour je serai en vacances (avec le "s" éventuel).
int nbJours = 25;
String str = "Dans " + nbJours + " jour" + (nbJours<2?"":"s") + " je serai en vacances";
System.out.println(str);
nbJours = 1;
str = "Dans " + nbJours + " jour" + (nbJours<2?"":"s") + " je serai en vacances";
System.out.println(str);
Comment interpréter (nbJours<2?"":"s"):
si nbjours est <2 (le ?)
"" on n'ajoute rien à " jour"
sinon (le :)
"s" on ajoute s à " jour"
On pouvait aussi utiliser (nbJours>1?"s":"")
Cordialement,
Dan
Pour ceux qui voudraient plus d'infos sur l'utilisation de cette "notation" je propose cet exemple plus parlant:
J'ai par exemple un nombre de jours dans int nbJours et je veux afficher par exemple:
Dans 25 jours je serai en vacances ou Dans 1 jour je serai en vacances (avec le "s" éventuel).
int nbJours = 25;
String str = "Dans " + nbJours + " jour" + (nbJours<2?"":"s") + " je serai en vacances";
System.out.println(str);
nbJours = 1;
str = "Dans " + nbJours + " jour" + (nbJours<2?"":"s") + " je serai en vacances";
System.out.println(str);
Comment interpréter (nbJours<2?"":"s"):
si nbjours est <2 (le ?)
"" on n'ajoute rien à " jour"
sinon (le :)
"s" on ajoute s à " jour"
On pouvait aussi utiliser (nbJours>1?"s":"")
Cordialement,
Dan
17 avril 2009 à 18:17
if(len>=MINLEN)
{len=len;} //quelle est l'utilité de cette instruction?
else
{len=MINLEN;}
Donc si je comprend bien ça veut dire qu'on va attribuer à len la valeur minimale,mais pourquoi n'écrit t-on pas tout simplement,
if(len<MINLEN)
len=MINLEN; //et puis c'est tout :s
Merci pour votre aide :)