l'obtention illégale début de l'expression de l'erreur
je suis totalement nouveau pour java. je m 'essayer de créer mon premier programme & j'ai cette erreur.
E:\java>javac Robot.java
Robot.java:16: error: illegal start of expression
public String CreateNew (); {
^
Robot.java:16: error: ';' expected
public String CreateNew (); {
^
2 errors
ci-dessous mon programme.
public class Robot {
public static void main(String args[]){
String model;
/*int year;*/
String status;
public String CreateNew () {
Robot optimus;
optimus = new Robot();
optimus.model="Autobot";
/*optimus.year="2008";*/
optimus.status="active";
return (optimus.model);
}
}
}
- tout comme une note de côté, il est généralement une bonne idée de commencer méthodes de minuscules tandis que les Classes ont des noms en Majuscule. Telle est la Java de la convention de
Vous devez vous connecter pour publier un commentaire.
Vous essayez de définir une méthode (
CreateNew
) dans une méthode (main
), vous ne pouvez pas le faire en Java. Déplacez-lemain
; et commemodel
etstatus
semblent être des variables d'instance (pas de variables de la méthode), de les déplacer ainsi:En fonction de son contenu, vous pouvez
CreateNew
êtrestatic
(de sorte qu'il peut être appelé via leRobot.CreateNew
plutôt que par l'intermédiaire d'unRobot
exemple). Comme ceci:Utilisé comme
...même si c'est pas clair pour moi pourquoi vous voulez créer une
Robot
instance, puis jetez-le et il suffit de retourner lemodel
membre de l'instance de la valeur.Un peu hors-sujet, mais l'écrasante convention en Java, c'est que les noms de méthode (statique ou instance) commencent par une lettre minuscule, par exemple
createNew
plutôt queCreateNew
.CreateNew
.Vous ne fermez pas votre méthode principale avant de créer le
CreateNew()
un. En fait, je ne pense pas que vous avez une méthode principale dans votre classe de Robot, vous devriez avoir une seule méthode principale pour l'ensemble de votre programme. Et votre CreateNew devrait être un constructeur:et puis dans une autre classe qui contient la méthode main (ou peut-être dans la même classe trop):
alors vous pouvez avoir un deuxième constructeur qui prend en paramètre du modèle et de l'état comme ça:
et enfin dans votre main: