Le nombre de lettres en Java
plant.length() compte les lettres que plant garde déjà. String plant = "leaf"; garde encore leaf, et System.out.println(plant.length()) écrit 4. Les lettres restent leaf. Elles ne deviennent pas le nombre. Le point après le nom est la question, et la ligne d'écriture montre la réponse.
Le point demande combien de lettres
Ouvrez Mint.java. Le nom du fichier reste Mint.java, parce que public class Mint est encore le nom du fichier. Cette page ne renomme pas le fichier et ne change pas public class Mint. La page précédente gardait String plant = "leaf"; et une ligne d'écriture qui montrait leaf. Cette page garde cette ligne de garde. Effacez une ligne int si elle est encore là, venue de la page d'avant les guillemets. Effacez toute ligne d'import, toute ligne de reader et toute ligne de nextLine. Le fichier que vous gardez n'a pas d'import, pas de Scanner et pas de nextLine. Un import inutilisé ne fait pas échouer javac à lui seul, et il n'écrit pas non plus le compte. Le compte est écrit seulement par la ligne d'écriture qui pose la question.
Dans main, la ligne de garde est encore String plant = "leaf";. String est le mot de genre. plant est le nom, et il commence par un p minuscule. Les guillemets tiennent l, e, a, f, toutes petites, et rien d'autre entre elles. Cette ligne garde les lettres. Elle ne pose pas de question et n'écrit pas l'écran. La question est le travail suivant, une fois les lettres gardées. Après le nom, écrivez un point, puis le mot de la question length, puis une paire de parenthèses sans rien entre elles. La question entière est plant.length(). Le point attache la question au nom. length est le mot de la question pour le compte. Les parenthèses vides disent que cette question n'a pas besoin d'un mot en plus à l'intérieur. Il n'y a pas de numéro de place ici. Dans le fichier que vous gardez, cette question est dans la deuxième ligne d'écriture. Ce n'est pas une ligne à part. Poser la question n'est pas garder. Les lettres du nom restent leaf. La question n'enlève pas les guillemets et ne met pas le nombre 4 dans le nom plant.
Le fichier que vous gardez écrit d'abord les lettres, puis pose la question. La première ligne d'écriture est le nom nu : System.out.println(plant);. Pas de guillemets, et pas de point. Elle écrit leaf et finit la ligne, comme la page précédente. La deuxième ligne d'écriture est la question : System.out.println(plant.length());. Pas de guillemets autour de length. Java lit le nom plant, compte les lettres que ce nom garde, écrit ce compte et finit la ligne. Pour le fichier que vous gardez, le compte est 4. Les guillemets ne sont pas à l'écran. Le mot length n'est pas à l'écran. Les parenthèses ne sont pas à l'écran. Les lettres du nom, p, l, a, n, t, ne sont pas à l'écran. Enregistrez le fichier.
Le fichier que vous gardez
Enregistrez ceci sous le nom Mint.java. C'est le fichier que cette page garde. Une ligne de garde, String plant = "leaf";. Une ligne d'écriture pour les lettres. Une ligne d'écriture pour le compte. La ligne du compte est plant.length() dans println. Rien d'autre.
public class Mint {
public static void main(String[] args) {
String plant = "leaf";
System.out.println(plant);
System.out.println(plant.length());
}
}
Lisez depuis le haut. public class Mint nomme le fichier. Il n'écrit pas l'écran. public static void main(String[] args) est l'endroit où Java commence. Le mot String sur cette ligne main n'est toujours pas une ligne de garde. La ligne de garde est la suivante, String plant = "leaf";. Elle garde quatre lettres. Elle n'écrit rien. System.out.println(plant); écrit leaf et finit la ligne. System.out.println(plant.length()); écrit 4 et finit la ligne. Deux lignes à l'écran. La première ligne, ce sont les lettres. La deuxième ligne, c'est le compte. Les guillemets restent dans le fichier, autour de leaf, et ils ne sont sur aucune des deux lignes de l'écran.
Ce que l'écran montre
Dans le dossier qui contient ce Mint.java, tapez javac Mint.java. Quand le fichier est correct, cette commande n'écrit aucune ligne. Une question après le point ne fait pas écrire une ligne à javac à elle seule, et ne fait pas échouer javac. Ensuite tapez java Mint. Ne tapez pas .java après java. Ce sont les deux mêmes commandes que vous tapez sous Windows et sous macOS. Cette page ne cite pas l'invite du shell. Le programme écrit leaf, puis 4 à la ligne suivante. Il n'attend pas que vous tapiez. Les lettres étaient déjà dans le fichier, et le compte est répondu à partir de ces lettres. Si java Mint attend, nextLine est encore dans le fichier. Effacez cette ligne et gardez la ligne de garde et les deux lignes d'écriture. Le programme finit après la deuxième ligne d'écriture.
L'écran montre leaf, puis 4. Quatre petites lettres, puis le compte, sans guillemets sur aucune des deux lignes. Si l'écran montre plant, une ligne d'écriture a des guillemets autour du nom : System.out.println("plant");. Ces guillemets marquent les lettres p, l, a, n, t, donc le leaf gardé n'est pas écrit et la question n'est pas posée. Si l'écran montre seulement leaf, la deuxième ligne d'écriture manque. Le fichier que vous gardez a les deux lignes, les lettres d'abord et le compte ensuite. Si l'écran montre seulement 4, la première ligne d'écriture manque. Les lettres peuvent encore être dans le fichier, mais la preuve de cette page est l'écran : leaf, puis 4. Si l'écran montre 4 puis leaf, les deux lignes d'écriture sont échangées. Mettez println(plant) au-dessus de println(plant.length()). Si l'écran montre 5, le compte est faux pour ces lettres. Les guillemets ne sont pas des lettres que le nom garde, donc ils ne font pas partie du 4. Une cinquième lettre devrait se tenir entre les guillemets. Le fichier que vous gardez a seulement l, e, a, f. Si l'écran montre mint, vous êtes encore sur un fichier plus ancien. Si l'écran montre leaf puis encore leaf, la deuxième ligne d'écriture est un autre println(plant), pas la question. Vous ne réinstallez pas Java pour un écran qui montre la mauvaise ligne.
Une grande lettre entre les guillemets compte pour une lettre, comme une petite. String plant = "Leaf"; fait encore écrire 4 à plant.length(). La ligne d'écriture des lettres montre Leaf, avec un L majuscule. Le fichier que vous gardez n'utilise pas cela. Il utilise quatre petites lettres, et la ligne du compte écrit 4. Jugez le compte d'après les lettres qui sont vraiment entre les guillemets.
Vous pouvez garder le compte sous un second nom. int count = plant.length(); prend la réponse, et le mot de genre est int, parce que la réponse est un nombre entier. Ensuite System.out.println(count); écrit 4. C'est permis. Ce n'est pas le fichier que vous gardez. Le fichier gardé écrit la question directement, donc l'écran est leaf puis 4, et vous n'avez pas besoin d'un second nom pour voir le compte. Le nombre 4 est la réponse. Il ne remplace pas les lettres dans plant.
Un espace compte pour un
Les lettres entre les guillemets peuvent changer, et le compte suit ces lettres. Sous la première question, gardez un nouvel ensemble de lettres dans le même nom, puis posez encore la question. La nouvelle ligne de garde est plant = "leaf stem";. Elle ne commence pas par String. plant existe déjà, donc cette ligne ne fait que remplacer les lettres que le nom garde. Entre les guillemets il y a neuf places : l, e, a, f, un espace, s, t, e, m. L'espace est l'une d'elles. length le compte. Les deux mots restent une valeur gardée, pas deux noms. Ce deuxième fichier n'écrit pas les lettres. Il écrit seulement les deux comptes, pour que l'écran ne se confonde pas avec les lettres elles-mêmes.
Ceci est le deuxième fichier. Ce n'est pas le fichier que vous gardez. Le fichier que vous gardez a une ligne de garde, les lettres leaf, pas d'espace, et un écran leaf puis 4. Enregistrez ce deuxième fichier sous le nom Mint.java quand vous voulez voir l'espace compté, puis remettez le fichier gardé.
public class Mint {
public static void main(String[] args) {
String plant = "leaf";
System.out.println(plant.length());
plant = "leaf stem";
System.out.println(plant.length());
}
}
Tapez javac Mint.java. Le fichier est correct, donc javac n'écrit aucune ligne. La deuxième ligne de garde a le droit de ne pas écrire String, et cette absence ne fait pas échouer javac. Ensuite tapez java Mint. L'écran montre 4, et la ligne suivante est 9. Deux lignes. Pas de guillemets. Les lettres leaf ne sont pas à l'écran. Les lettres leaf stem ne sont pas à l'écran non plus. Seuls les comptes y sont. Le premier compte vient des lettres que le nom gardait à ce moment. Le second compte vient des lettres que le nom garde après plant = "leaf stem";. Si la deuxième ligne est 8, l'espace manque entre les guillemets, et les lettres gardées sont leafstem. Si les deux lignes sont 4, la deuxième ligne de garde manque ou dit encore "leaf". Si les deux lignes sont 9, la première ligne de garde dit déjà "leaf stem". L'écran suit l'ordre des lignes dans le fichier, et il suit les lettres entre les guillemets, espace compris.
N'écrivez pas String une deuxième fois pour le même nom. String plant = "leaf stem";, placé sous une ligne qui a déjà créé plant, est une autre erreur. Cette ligne essaie de créer plant encore une fois. javac écrit une erreur et ne reste pas silencieux. Vous n'avez pas besoin des mots exacts de cette erreur. Ne tapez pas encore java Mint. Effacez le second String et laissez plant = "leaf stem";. Le nom est créé une fois. Les lignes suivantes ne font que changer les lettres qu'il garde, ou poser une question sur ces lettres. Dans le fichier que vous gardez, il n'y a pas de deuxième ligne de garde. Après avoir vu 4 puis 9, remettez ce fichier : String plant = "leaf";, println(plant) et println(plant.length()).
Quelle lettre à quelle place
length demande le compte. Une autre question demande quelle lettre se tient à une place. Le mot de la question est charAt. La place va dans les parenthèses, parce que cette question a besoin de ce mot en plus. La première place est 0, pas 1. Pour leaf, la place 0 tient l, la place 1 tient e, la place 2 tient a et la place 3 tient f. plant.charAt(0) répond par la seule lettre l. plant.charAt(1) répond par la seule lettre e. La réponse est une lettre, pas le mot leaf entier, et pas le numéro de la place. Les lettres gardées dans plant restent leaf. Demander une place n'efface pas les autres.
Ceci est le troisième fichier. Ce n'est pas le fichier que vous gardez. Le fichier que vous gardez demande length, et son écran est leaf puis 4. Enregistrez ce troisième fichier sous le nom Mint.java quand vous voulez voir les places, puis remettez le fichier gardé.
public class Mint {
public static void main(String[] args) {
String plant = "leaf";
System.out.println(plant.charAt(0));
System.out.println(plant.charAt(1));
}
}
Tapez javac Mint.java. Le fichier est correct, donc javac n'écrit aucune ligne. Un numéro de place dans les parenthèses ne fait pas échouer javac quand cette place est l'une des lettres. Ensuite tapez java Mint. L'écran montre l, et la ligne suivante est e. Deux lignes. Pas de guillemets. Le mot leaf n'est pas à l'écran. Les nombres 0 et 1 ne sont pas à l'écran. Si la première ligne est e, la première question a demandé la place 1, qui est la deuxième lettre. La première lettre est la place 0. Si la première ligne est leaf, la ligne d'écriture est println(plant), pas charAt. Si la première ligne est 0, la ligne d'écriture a écrit le numéro de la place et n'a pas demandé charAt. Si les deux lignes sont l, les deux questions disent charAt(0). La place 2 écrit a. La place 3 écrit f. Ces deux places existent pour leaf. Ce troisième fichier ne les demande pas. Il demande 0 puis 1, pour que vous voyiez que le compte commence à 0.
Une place sans lettre
La place 4 n'est pas l'une des lettres de leaf. Le compte est 4, et les places qui existent sont 0, 1, 2 et 3. Changez la première question en plant.charAt(4) et laissez le reste du troisième fichier. Tapez javac Mint.java. javac n'écrit aucune ligne. La ligne est une question permise, donc une lettre absente n'est pas un échec de javac. Ensuite tapez java Mint. Le programme écrit une erreur. Il n'écrit pas une cinquième lettre, et il n'écrit pas 4. Vous n'avez pas besoin des mots exacts de cette erreur. Le fait utile est que l'échec a lieu quand le programme s'exécute, pas quand javac lit le fichier. Remettez charAt(0) et charAt(1) si vous voulez encore ces deux lignes, puis remettez le fichier gardé. Ne laissez pas charAt(4) dans le fichier que vous gardez.
Une paire vide a le compte 0. String plant = ""; ne garde aucune lettre. System.out.println(plant.length()); écrit 0. javac n'écrit aucune ligne, parce qu'une paire vide est permise. java Mint écrit 0 et finit. Il n'attend pas. Une ligne vide, c'est ce que println(plant) écrivait à la page précédente. La question est différente : l'écran montre le chiffre 0, qui est le compte, pas une ligne vide. plant.charAt(0) sur cette paire vide est une place sans lettre. javac n'écrit toujours aucune ligne. java Mint écrit une erreur, parce que la place 0 a besoin d'une lettre et que le compte est 0. Après avoir vu 0, faites de nouveau de la ligne de garde String plant = "leaf";.
Les parenthèses font partie de la question. System.out.println(plant.length); a le point et le mot length, et n'a pas de parenthèses. javac écrit une erreur. Il ne reste pas silencieux. Il n'y a pas d'écran à lire, parce que vous ne tapez pas java Mint pendant que javac écrit une erreur. Vous n'avez pas besoin des mots exacts. Remettez la paire de parenthèses vide, pour que la ligne soit System.out.println(plant.length());. charAt ne peut pas être vide. System.out.println(plant.charAt()); écrit une erreur chez javac, parce que cette question a besoin de la place. Mettez une place qui existe dans les parenthèses, par exemple 0, quand vous êtes sur le troisième fichier. Le fichier que vous gardez utilise length(), et il n'y a rien entre les parenthèses.
Vous écrivez la question après le nom. System.out.println(length()); traite length comme un nom que ce fichier n'a pas. javac écrit une erreur. Le mot de la question se place après plant et un point. System.out.println(plantlength()); est aussi un nom, plantlength, et ce fichier ne l'a pas. Le point est ce qui sépare le nom de la question. Le nom doit exister avant la ligne qui l'utilise. Si System.out.println(plant.length()); est écrit au-dessus de String plant = "leaf";, javac écrit une erreur. La question nomme plant avant que plant existe. Déplacez la ligne de garde au-dessus des lignes d'écriture. C'est le même ordre que vous avez déjà utilisé pour count et pour reader.
La question porte sur des lettres, pas sur un nombre entier que vous avez gardé avec int. int count = 4; et System.out.println(count.length()); demandent à un nombre entier combien de lettres il garde. javac écrit une erreur. Un nombre entier n'a pas de question length. La réparation sur cette page n'est pas seulement d'ajouter les parenthèses. La réparation est de poser la question au nom qui garde des lettres : plant.length(). La page d'avant les guillemets gardait int et gardait 4, sans question. La page précédente gardait String et gardait "leaf". Cette page garde String, garde "leaf" et demande length.
Vous pouvez maintenant demander combien de lettres un nom garde déjà, et quelle lettre se tient à une place qui commence à 0. String plant = "leaf"; garde encore leaf. System.out.println(plant); écrit leaf. System.out.println(plant.length()); écrit 4, et les lettres restent leaf. Un plant = "leaf stem"; plus loin fait du compte suivant un 9, parce que l'espace compte pour un. plant.charAt(0) écrit l, et plant.charAt(1) écrit e. Une place sans lettre, comme 4 pour leaf, laisse javac silencieux et fait écrire une erreur à java Mint. length sans parenthèses fait écrire une erreur à javac. La page suivante laisse ces questions. Elle reste avec un nombre entier comme le 4 que ce compte a écrit, et ce nombre, vous l'écrivez de nouveau dans le fichier.
L'écran montre la réponse, les lettres restent
Le fichier que vous gardez écrit leaf puis 4. Le nom sur la première ligne d'écriture est plant, et plant n'est pas à l'écran. length est dans le fichier, après le point, et il n'est pas à l'écran. Les guillemets restent autour de leaf. Ils ne sont pas comptés, et ils ne sont pas à l'écran. Un espace entre les guillemets est compté. La première place est 0.
🧠 Testez Vos Connaissances
Testez Vos Connaissances
Mettez-vous au défi avec ce quiz interactif et voyez à quel point vous comprenez le sujet
📝 Instructions
- Lisez chaque question attentivement
- Sélectionnez la meilleure réponse pour chaque question
- Vous pouvez refaire le quiz autant de fois que vous le souhaitez
- Votre progression sera affichée en haut