Erreur de compilation en java

Salut, j'ai essayé de faire tester mon code sur le problème Croissance (Niveau 3, Qualifications 2014), mais je rencontre une erreur d’exécution à chaque fois. J'ai testé sur le sujet 1 des qualifications de la même année, et le problème, est le même. L'erreur indiquée est : Error: Could not find or load main class tmpM4pCPk7mtM. J'utilise pourtant bien le code à compléter, en ayant bien renommé la class croissance en class main (cela provoquait une erreur de compilation).

11 oct. 2016 à 17:18:33 Modifié le 17 oct. 2016 à 11:35:44 par multun

Je viens de réessayer: l'erreur n'est plus la même, mais cela ne fonctionne toujours pas. Sur le problème 1 des qualifications 2014, l'erreur est :

1
2
3
Exception in thread "main" java.lang.NullPointerException
    at tmpZA6Qk6Rosm.read_deltas(tmpZA6Qk6Rosm.java:34)
    at tmpZA6Qk6Rosm.main(tmpZA6Qk6Rosm.java:51)

Sur le problème 3:

1
2
3
Exception in thread "main" java.lang.NullPointerException
    at tmpQEIvM4MFOU.read_deltas(tmpQEIvM4MFOU.java:45)
    at tmpQEIvM4MFOU.main(tmpQEIvM4MFOU.java:62)

Si tu compares les deux erreurs, elles surviennent toujours à la même ligne de la fonction de lecture:

1
scanner.useDelimiter("\\n");current_char = scanner.findWithinHorizon(".", 1).charAt(0);
13 oct. 2016 à 11:57:15 Modifié le 17 oct. 2016 à 11:39:11 par multun

Tu peux temporairement changer le bordel fait avec les scanners dans la fonction "read_deltas' (les horizons etc...) avec un simple int num = scanner.nextInt(); Le template généré automatiquement devait présenter quelques erreurs.

Edit: Pour être plus précis

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
int num = 0;
char current_char = '\000';
scanner.useDelimiter("\\n");current_char = scanner.findWithinHorizon(".", 1).charAt(0);
boolean ok = is_number(current_char);
while (ok)
{
    num = num * 10 + current_char - '0';
    scanner.useDelimiter("\\n");current_char = scanner.findWithinHorizon(".", 1).charAt(0);
    ok = is_number(current_char);
}

remplacé par

1
int num = scanner.nextInt();
13 oct. 2016 à 18:39:17 Modifié le 17 oct. 2016 à 11:34:52 par multun

(Désolé pour la mise en page, j'arrive pas à l'améliorer)

Bon j'ai essayé sur l'exercice 4 (Hâte), et là ça me donne de nouveau des grosses erreurs de compilation:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
javac 1.7.0_91
/tmp/tmpun0ScRsHW1.java:42: error: class, interface, or enum expected
  public static boolean is_number(char c)
                ^
/tmp/tmpun0ScRsHW1.java:45: error: class, interface, or enum expected
  }
  ^
/tmp/tmpun0ScRsHW1.java:47: error: class, interface, or enum expected
  public static int[] read_deltas(int len)
                ^
/tmp/tmpun0ScRsHW1.java:50: error: class, interface, or enum expected
    for (int index = 0 ; index < len; index++)
    ^
/tmp/tmpun0ScRsHW1.java:50: error: class, interface, or enum expected
    for (int index = 0 ; index < len; index++)
                         ^
/tmp/tmpun0ScRsHW1.java:50: error: class, interface, or enum expected
    for (int index = 0 ; index < len; index++)
                                      ^
/tmp/tmpun0ScRsHW1.java:53: error: class, interface, or enum expected
      result[index] = num;
      ^
/tmp/tmpun0ScRsHW1.java:54: error: class, interface, or enum expected
    }
    ^
/tmp/tmpun0ScRsHW1.java:56: error: class, interface, or enum expected
  }
  ^
/tmp/tmpun0ScRsHW1.java:59: error: class, interface, or enum expected
  public static void main(String args[])
                ^
/tmp/tmpun0ScRsHW1.java:62: error: class, interface, or enum expected
    if (scanner.hasNext("^-")){
    ^
/tmp/tmpun0ScRsHW1.java:63: error: class, interface, or enum expected
    scanner.next("^-"); len = -scanner.nextInt();
                        ^
/tmp/tmpun0ScRsHW1.java:64: error: class, interface, or enum expected
    }else{
    ^
/tmp/tmpun0ScRsHW1.java:65: error: class, interface, or enum expected
    len = scanner.nextInt();}
                            ^
/tmp/tmpun0ScRsHW1.java:67: error: class, interface, or enum expected
    int[] deltas = read_deltas(len);
    ^
/tmp/tmpun0ScRsHW1.java:68: error: class, interface, or enum expected
    hate(deltas, len);
    ^
/tmp/tmpun0ScRsHW1.java:69: error: class, interface, or enum expected
  }
  ^
17 errors
/var/prologin/check/Compile:61: recipe for target 'lang-java' failed
Erreur de compilation
14 oct. 2016 à 10:55:18 Modifié le 14 oct. 2016 à 11:00:36

Pour la mise en page, essaye de mettre des balises < code > autour de tout ça, et retourne à la ligne avec des < br > .

Tu peux également ajouter de l'indentation avec "& nbsp;" (tout attaché). J'ai l'impression que c'est encore un problème de code généré, je vais essayer de voir ce qu'il se passe.

Edit: En fait non, le problème vient de ton code, et l'erreur seule ne va pas m'aider beaucoup. Utilise un site pour copier coller ton code (pastebin, ideone) et donne moi le lien pour que je vérifie ce que tu as fait. Quand beaucoup d'erreurs surviennent à de différents endroits, c'est souvent dû à une erreur de syntaxe (une parenthèse/crochet/accolade manquant, autres....). Si tu n'as pas d'outils pour highlight les parenthèses par paires, je te conseille d'en trouver un. Si tu en as un, check un peu pour voir si ça ne viendrait pas de là.

T'avais raison c'était une accolade qui manquait, merci! Vu que j'avais eu des problèmes sur les autres que j'avais fait, j'avais pas trop cherché à regarder..

Bon, les mecs, petit cours de Markdown…

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
javac 1.7.0_91
/tmp/tmpun0ScRsHW1.java:42: error: class, interface, or enum expected
  public static boolean is_number(char c)
                ^
/tmp/tmpun0ScRsHW1.java:45: error: class, interface, or enum expected
  }
  ^
/tmp/tmpun0ScRsHW1.java:47: error: class, interface, or enum expected
  public static int[] read_deltas(int len)
                ^
/tmp/tmpun0ScRsHW1.java:50: error: class, interface, or enum expected
    for (int index = 0 ; index &lt; len; index++)
    ^
/tmp/tmpun0ScRsHW1.java:50: error: class, interface, or enum expected
    for (int index = 0 ; index &lt; len; index++)
                         ^
/tmp/tmpun0ScRsHW1.java:50: error: class, interface, or enum expected
    for (int index = 0 ; index &lt; len; index++)
                                      ^
/tmp/tmpun0ScRsHW1.java:53: error: class, interface, or enum expected
      result[index] = num;
      ^
/tmp/tmpun0ScRsHW1.java:54: error: class, interface, or enum expected
    }
    ^
/tmp/tmpun0ScRsHW1.java:56: error: class, interface, or enum expected
  }
  ^
/tmp/tmpun0ScRsHW1.java:59: error: class, interface, or enum expected
  public static void main(String args[])
                ^
/tmp/tmpun0ScRsHW1.java:62: error: class, interface, or enum expected
    if (scanner.hasNext("^-")){
    ^
/tmp/tmpun0ScRsHW1.java:63: error: class, interface, or enum expected
    scanner.next("^-"); len = -scanner.nextInt();
                        ^
/tmp/tmpun0ScRsHW1.java:64: error: class, interface, or enum expected
    }else{
    ^
/tmp/tmpun0ScRsHW1.java:65: error: class, interface, or enum expected
    len = scanner.nextInt();}
                            ^
/tmp/tmpun0ScRsHW1.java:67: error: class, interface, or enum expected
    int[] deltas = read_deltas(len);
    ^
/tmp/tmpun0ScRsHW1.java:68: error: class, interface, or enum expected
    hate(deltas, len);
    ^
/tmp/tmpun0ScRsHW1.java:69: error: class, interface, or enum expected
  }
  ^
17 errors
/var/prologin/check/Compile:61: recipe for target 'lang-java' failed
Erreur de compilation

Il faut utiliser l’accent grave « ` ». Un ou deux pour un formatage au sein d’un paragraphe, en mettre trois autour d’un bloc pour qu’il soit en style « préformaté ». Mettre le nom du langage à côté des « ``` » ouvrants s’il y a lieu. Et alex3er, avec tout le respect que je te dois, éviter les balises HTML, c’est franchement trop moche.

Répondre au sujet

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