Erreur incompréhensible
Résolu/Fermé
Zinconnu
Messages postés
11
Date d'inscription
dimanche 9 février 2014
Statut
Membre
Dernière intervention
11 février 2014
-
Modifié par Zinconnu le 9/02/2014 à 15:52
Zinconnu Messages postés 11 Date d'inscription dimanche 9 février 2014 Statut Membre Dernière intervention 11 février 2014 - 9 févr. 2014 à 16:15
Zinconnu Messages postés 11 Date d'inscription dimanche 9 février 2014 Statut Membre Dernière intervention 11 février 2014 - 9 févr. 2014 à 16:15
A voir également:
- Erreur incompréhensible
- Erreur 0x80070643 - Guide
- Erreur 10016 epson - Forum Imprimante
- Erreur c2002 western union ✓ - Forum Vos droits sur internet
- Erreur g030 - Forum Bbox Bouygues
- Erreur 5000 france tv - Forum Lecteurs et supports vidéo
1 réponse
KX
Messages postés
16733
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 janvier 2024
3 015
Modifié par KX le 9/02/2014 à 16:34
Modifié par KX le 9/02/2014 à 16:34
$$ n'existe pas, c'est soit && pour un ET, soit || pour un OU.
Attention à la valeur de K, en l'affectant à la variable inc, celle-ci sera fixée pour tout le programme et ne prendra pas en compte les modifications effectuées dans Start, selon ce que tu veux faire il faudrait plutôt remplacer nb += inc, par ton nb+= K*KO*1
De plus, tu as supprimé l'instruction game.interrupt(), du coup le programme ne s'arrêtera jamais, même si tu entres "P"
Remarque : Java est un langage objet, il n'est pas censé y avoir des variables static qui se promènent dans tous les sens dans tes classes, il vaut mieux mettre des attributs privés et les manipuler au travers de méthodes.
PS. Conserves les minuscules pour tes noms de variables, ne sont autorisés en majuscules que des valeurs constantes.
La confiance n'exclut pas le contrôle
Attention à la valeur de K, en l'affectant à la variable inc, celle-ci sera fixée pour tout le programme et ne prendra pas en compte les modifications effectuées dans Start, selon ce que tu veux faire il faudrait plutôt remplacer nb += inc, par ton nb+= K*KO*1
De plus, tu as supprimé l'instruction game.interrupt(), du coup le programme ne s'arrêtera jamais, même si tu entres "P"
Remarque : Java est un langage objet, il n'est pas censé y avoir des variables static qui se promènent dans tous les sens dans tes classes, il vaut mieux mettre des attributs privés et les manipuler au travers de méthodes.
PS. Conserves les minuscules pour tes noms de variables, ne sont autorisés en majuscules que des valeurs constantes.
public class Game extends Thread { private int k = 1; public void setK(int k) { this.k = k; } public int getK() { return k; } @Override public void run() { int ko = 1; for (int nb = 0; !isInterrupted(); nb += getK() * ko) { System.out.println(nb + " pièces d'or"); try { Thread.sleep(4579); } catch (InterruptedException e) { interrupt(); } } } }
import java.util.Scanner; public class Start { public static void main(String[] args) { @SuppressWarnings("resource") Scanner keyb = new Scanner(System.in); String stop = "P"; System.out.println("Pour mettre le jeu en pause, tapez " + stop); Game game = new Game(); game.start(); while ( !game.isInterrupted()) { String line = keyb.nextLine(); if (line.equals(stop) && game.getK() > 0) { game.setK(0); game.interrupt(); } else { game.setK(1); } } } }
La confiance n'exclut pas le contrôle
9 févr. 2014 à 16:15