Compilateur java et String.isEmpty() : "cannot find symbol"

Bonjour,

Je me retrouve dans un problème plutôt gênante ...
En fait, j'ai fait un programme java avec une classe exercice_3 (devinez quel exercice je résous :D ). Les exercices 1 et 2, je les ai faits en C++, donc pas de problème.
Mais je me retrouve avec un problème de conflit de nom de fichier ... Donc je vais tout de suite regarder le squelette, et je vois que la classe se nomme Main ... Pourquoi ce nom marche-t-il et pas un autre ? Question qui reste pour le moment sans réponse ... Mais ce n'est pas le sujet principal

Mais le problème ne vient pas de là. En fait, j'utilise la classe String. Et je dois utiliser à un moment maString.isEmpty() ... Le message d'erreur :

1
2
3
4
5
6
7
8
javac 1.5.0_14
/tmp/tmp_zUDtaM4862.java:57: cannot find symbol
symbol : method isEmpty()
location: class java.lang.String
if(maString.isEmpty()) {
^
1 error
Erreur de compilation

Bien évidemment, ma chaîne de caractère ne se nomme pas maString, mais je l'ai remplacé par çà pour éviter de donner une seule ligne de mon code ( \^\^ )

Merci d'avance,
Lenoa

isEmpty a été ajouté dans Java 6, et comme le message d'erreur te le dit c'est Java 5 qui tourne sur le serveur. Compare tout simplement length() et 0 !

Pour le nom de le classe, le serveur impose Main afin de savoir quelle commande Java lancer après la compilation, mais il me semblait qu'on changeait automatiquement le nom en Main si tu en mettais un différent. Je me trompe peut-être.

Ah ok !
Je n'avais pas fait attention à la version je java ... Merci ! Sinon, le message d'erreur avec la classe exercice_3 :

1
2
3
4
5
6
javac 1.5.0_14
/tmp/tmp_hOKvoS6809.java:6: class exercice_3 is public, should be declared in a file named exercice_3.java
public class exercice_3 {
^
1 error
Erreur de compilation

D'accord, donc c'est bien ce que je pensais. Peut-être, pour les développeurs du site :

1
$code = preg_replace('`public +class +([^ {]*) +{`', 'public class $1 {', $code);

Ne t'en fais pas, cette partie n'est pas faite en PHP, nous ne sommes pas fous :-) Effectivement il faut mettre Main. J'avais souvenir qu'on changeait le nom de la classe, mais c'était pour changer Main en autre chose, en fait !

Répondre au sujet

Vous devez vous enregistrer ou vous connecter pour poster des messages.