Effectivement je vois les interfaces dans le package maintenant. Merci beaucoup. Après c'est une question de point de vue pour ce qui est de montrer la définition des interfaces. Mais ne pas les mettrent est un choix tout a fait justifiable.
Je ne vois comment ce code permet par exemple d'aller chercher le deuxième chiffre après l'opérateur. Pour ce qui est du premier tout va bien, mais pour le deuxième j'aimerais bien comprendre svp!
Merci!
Dans le bout de code que tu donnes, on voit que l'on addition la variable "chiffre1" avec la valeur double de "ecran.getText()".
Il faut comprendre que lorsque l'on demande l'addition (la première fois), on ne calcul pas encore, on stock l'opérateur dans une variable (opérateur) et on stock la valeur de l'écran dans "chiffre1". Une fois que l'on a inséré le nombre suivant et que l'on clic sur un opérateur, la méthode calcul sera exécute. Et dans la méthode, on va reprendre le nombre précédént et l'ajouter/ le soustraire / le multiplier/ le diviser par le nombre présent dans l'écran.
Le plus compliqué a comprendre et la condition qui revient dans chaque listener d'opérateur
Bonjour, lorsque j'ouvre ma jvm elle se ferme automatiquement, quelqu'un a ou a eu ce problème ? Et quelqu'un aurait une solution s'il vous plaît ?
Si tu l'ouvre depuis l'invite de commande il faudrait savoir que c'est un programme (java.exe) et il faudrait lui passer en paramètre ton byte code sans l'extention ".class" (il s'agit ici du byte code de ta classe principale)
- Edité par FarelWAMBATOUATSA 20 janvier 2016 à 16:35:02
bonjour, j'en suis au premier programme et j'ai voulu compiler en ligne de commande. d'abord ça ne fonctionne pas (j'ai créé le fichier .class mais je ne peux pas le lancer) et de plus je ne peux plus lancer eclipse. dans CMD j'ai le message suivant:
"Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object
je suis sous windows 10. merci de me dire si et où j'ai planté et comment y remédier.
bonjour, j'en suis au premier programme et j'ai voulu compiler en ligne de commande. d'abord ça ne fonctionne pas (j'ai créé le fichier .class mais je ne peux pas le lancer) et de plus je ne peux plus lancer eclipse. dans CMD j'ai le message suivant:
"Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object
je suis sous windows 10. merci de me dire si et où j'ai planté et comment y remédier.
cordialement
Bonjour,
je ne sais pas si j'ai bien compris ton problème.
Est ce que tu as bien mis le lien vers le dossier bin de ton jdk dans ta variable d'environnement PATH?
Sinon, est ce que tu as spécifié le chemin complet pour accéder au programme javac.exe situé dans le dossier bin de ton jdk car c'est lui le compilateur et après tu dois lui passer en paramètre ton fichier source avec son extension (.java) et il va te générer ensuite le byte code (.class) que tu pourras à nouveau passer en paramètre de ton programme java.exe pour l'exécuter
Il faudrait aussi vérifier que ton dossier jdk ou ton dossier jre contient bien le programme java.exe car c'est ça la machine virtuelle et j'ai comme l'impression (d'après ton erreur) que tu n'arrive plus à la charger
Bonjour, je suis au chapitre nommé "Votre première classe" à la partie des accesseurs et lorsque j'essaie de les utiliser pour instancier l'objet Ville dans la méthode Main ça me marque des messages d'erreur, mais c'est mieux une image pour que vous disiez ce qui ne va pas dans le code. C'est le code utilisé dans l'objet Ville.
public class Ville {
String nomVille;
String nomPays;
int nbreHabitants;
public Ville(){
System.out.println("Création d'une ville !");
nomVille = "Inconnu";
nomPays = "Inconnu";
nbreHabitants = 0;
}
public Ville(String pNom, int pNbre, String pPays)
{
System.out.println("Création d'une ville avec des paramètres !");
nomVille = pNom;
nomPays = pPays;
nbreHabitants = pNbre;
Et là c'est le code que j'utilise dans l'autre classe dans la méthode main
bonjour, j'en suis au premier programme et j'ai voulu compiler en ligne de commande. d'abord ça ne fonctionne pas (j'ai créé le fichier .class mais je ne peux pas le lancer) et de plus je ne peux plus lancer eclipse. dans CMD j'ai le message suivant:
"Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object
je suis sous windows 10. merci de me dire si et où j'ai planté et comment y remédier.
cordialement
Bonjour,
je ne sais pas si j'ai bien compris ton problème.
Est ce que tu as bien mis le lien vers le dossier bin de ton jdk dans ta variable d'environnement PATH?
Sinon, est ce que tu as spécifié le chemin complet pour accéder au programme javac.exe situé dans le dossier bin de ton jdk car c'est lui le compilateur et après tu dois lui passer en paramètre ton fichier source avec son extension (.java) et il va te générer ensuite le byte code (.class) que tu pourras à nouveau passer en paramètre de ton programme java.exe pour l'exécuter
Il faudrait aussi vérifier que ton dossier jdk ou ton dossier jre contient bien le programme java.exe car c'est ça la machine virtuelle et j'ai comme l'impression (d'après ton erreur) que tu n'arrive plus à la charger
bonjour, je n'arrive plus à lancer eclipse. j'ai bien un fichier java et un fichier javac (voir ci dessous) mais comment savoir si ils fonctionnent.
j'ai réussi à passer de bbn1.java à bbn1.class mais depuis plus rien du coté d'eclipse ni de java.
Devrait s'executer sans problème. Qu'elle est le message d'erreur ?
Pour éclipse, l'erreur semble venir de la JVM et de Windows. Est ce que vous fonctionner sur un windows 64bits ? Si oui, est ce que vous avez installé le jdk 64bits ?
L'erreur proviendrait de la mémoire allouer a la JVM par windows.
Un accès premium d'un mois avec le code AXEL-8RR3 C'est cadeau et c'est illimité !
Devrait s'executer sans problème. Qu'elle est le message d'erreur ?
Pour éclipse, l'erreur semble venir de la JVM et de Windows. Est ce que vous fonctionner sur un windows 64bits ? Si oui, est ce que vous avez installé le jdk 64bits ?
L'erreur proviendrait de la mémoire allouer a la JVM par windows.
bonsoir, le message d'erreur est: "Error occurred during initialization of VM
StringIndexOutOfBoundsException : String index out of range : 0 //L'explication de l'erreur
at java.lang.String.charAt(...) //La fonction qui a provoqué l'erreur
at exos.Ex1.main(Ex1.java:30) // l'endroit de ton code ou cela a planté (ligne 30 dans Ex1)
Lire que lors d'un appel a charAt (a la ligne 30), tu as dépassé la longue de ton String, ton String est vide (range : 0).
- Edité par AxelHuberty 22 janvier 2016 à 20:47:05
Un accès premium d'un mois avec le code AXEL-8RR3 C'est cadeau et c'est illimité !
Il est vrai que je configure directement eclipse pour éviter les problèmes, mais je ne me rappelle pas que c'était ce message d'erreur.
ça n'a pas fonctionné, j'ai désinstallé jre et jdk et j'ai tout réinstallé. eclipse fonctionne mais je ne peux pas lancer bbn1.class depuis cmd, le nouveau message est: "C:\Users\francis\workspace\projet1\bin\projet1>java bbn1
Erreur : impossible de trouver ou charger la classe principale bbn1". merci de m'aider. cordialement.
J'ai téléchargé PostgreSQL version 9.5 pour windows-32 pour commencer à utiliser les bases de données.
La version chargée semble totalement différente de celle présentée dans le cours "Apprenez à programmer en Java". Par exemple . je ne trouve pas la fenêtre "ajouter une colonne".
Quelqu'un peut-il me conseiller une version plus ancienne et laquelle pour qu'elle corresponde au cours ?
entrez un entier 10 le nombre est positif le nombre est paire voulez vous entrer un autre nombre si oui tapez Y sinon tappez N
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 0
at java.lang.String.charAt(String.java:658)
at exos.Ex1.main(Ex1.java:30)
Pour aller un peu plus loin que la réponse lapidaire de AxelHuberty, la réponse a déjà été donnée ici :
Pour faire court il y a un "newline" dans le buffer de clavier qui n'est pas pris en compte par NextLine(), il faut sauter le newline avec un premier nextLine() avant de demander "Voulez vous taper un autre nombre ? et ensuite relire la réponse avec nextline.
Voilà, voilà...
P.S. pour écrire du code dans un post c'est plus joli avec le bouton </> en haut de la zone de texte
j'ai un petit soucis avec l'orienté objet pourriez-vous m'aider à comprendre svp ? :).
A l'école on nous a demandé de créer une class Moment avec les attributs (privé) suivants, ( heures, minutes, secondes : entiers),
ensuite ajouter un constructeur et les accesseurs pour chaque attribut. la je pense que je m'en suis bien sorti,
package mainmoment;
public class Moment {
private int heures;
private int minutes;
private int secondes;
public Moment(int uneHeure, int uneMinute, int uneSeconde) {
heures = uneHeure;
minutes = uneMinute;
secondes = uneSeconde;
}
public int getHeures() {
return heures;
}
public int getMinutes() {
return minutes;
}
public int getSecondes() {
return secondes;
}
public void setHeures(int uneHeures) {
if(uneHeures < 0 || uneHeures > 23) {
throw new IllegalArgumentException("Entrez des heures entre 0 et 23");
}
heures = uneHeures;
}
public void setMinutes(int uneMinutes) {
if(uneMinutes < 0 || uneMinutes > 60) {
throw new IllegalArgumentException("Entrez des minutes entre 0 et 60");
}
minutes = uneMinutes;
}
public void setSecondes(int uneSecondes) {
if(uneSecondes < 0 || uneSecondes > 60) {
throw new IllegalArgumentException("Entrez des secondes entre 0 et 60");
}
secondes = uneSecondes;
}
}
ensuite, dans le main je dois créer un (moment1 : Moment),
package mainmoment;
public class MainMoment {
public static void main(String[] args) {
Moment moment1 = new Moment(0,0,0);
moment1.setHeures(13);
moment1.setMinutes(01);
moment1.setSecondes(20);
System.out.println(moment1.getHeures() + ":" + moment1.getMinutes() + ":" +
moment1.getSecondes());
}
}
et après je suis censé créer une méthode toString() qui renvoi une chaine qui ressemble à (13:01:20) le gros problème c'est que je ne comprend pas pourquoi à chaque fois que j'essaie d'appeler la méthode toString() ça me renvoie monPackage.maClasse suivi d'un (@) et un nombre en hexa, pourriez-vous m'expliquer pourquoi et me montrer la bonne manière de faire svp?.
Salut à toi. je ne suis pas expert en java, mais ton problème est le suivant:
Si tu ne redéfinit pas la méthode toString dans ta classe et que tu appelle cette dernière, c'est la méthode toString de la classe mere qui est appelée(d'où tes nombre bizarres). tu doit redéfinir ta méthode dans la classe "Moment" comme ceci:
j'ai un petit soucis avec l'orienté objet pourriez-vous m'aider à comprendre svp ? :).
A l'école on nous a demandé de créer une class Moment avec les attributs (privé) suivants, ( heures, minutes, secondes : entiers),
ensuite ajouter un constructeur et les accesseurs pour chaque attribut. la je pense que je m'en suis bien sorti,
package mainmoment;
public class Moment {
private int heures;
private int minutes;
private int secondes;
public Moment(int uneHeure, int uneMinute, int uneSeconde) {
heures = uneHeure;
minutes = uneMinute;
secondes = uneSeconde;
}
public int getHeures() {
return heures;
}
public int getMinutes() {
return minutes;
}
public int getSecondes() {
return secondes;
}
public void setHeures(int uneHeures) {
if(uneHeures < 0 || uneHeures > 23) {
throw new IllegalArgumentException("Entrez des heures entre 0 et 23");
}
heures = uneHeures;
}
public void setMinutes(int uneMinutes) {
if(uneMinutes < 0 || uneMinutes > 60) {
throw new IllegalArgumentException("Entrez des minutes entre 0 et 60");
}
minutes = uneMinutes;
}
public void setSecondes(int uneSecondes) {
if(uneSecondes < 0 || uneSecondes > 60) {
throw new IllegalArgumentException("Entrez des secondes entre 0 et 60");
}
secondes = uneSecondes;
}
}
ensuite, dans le main je dois créer un (moment1 : Moment),
package mainmoment;
public class MainMoment {
public static void main(String[] args) {
Moment moment1 = new Moment(0,0,0);
moment1.setHeures(13);
moment1.setMinutes(01);
moment1.setSecondes(20);
System.out.println(moment1.getHeures() + ":" + moment1.getMinutes() + ":" +
moment1.getSecondes());
}
}
et après je suis censé créer une méthode toString() qui renvoi une chaine qui ressemble à (13:01:20) le gros problème c'est que je ne comprend pas pourquoi à chaque fois que j'essaie d'appeler la méthode toString() ça me renvoie monPackage.maClasse suivi d'un (@) et un nombre en hexa, pourriez-vous m'expliquer pourquoi et me montrer la bonne manière de faire svp?.
Merci d'avance.
- Edité par killitosan il y a environ 1 heure
Bonsoir,
En fait il faut savoir qu'en java toutes les classes héritent de la classe Object et c'est dans cette classe que la méthode toString() est définie. Ce que tu dois faire c'est la substituer dans ta classe afin d'adapter l'affichage de tes objets sinon tu auras l'affichage par défaut (c'est-à dire celle que tu as maintenant)
J'aimerais comprendre pourquoi le cours utilise encore les packages liés à swing alors que Java utilise depuis la version 8 JavaFX par défaut, c'est normal ?
Voici mon code pour réaliser un code barre mais celui ci ne marche quelqu'un pourrait il m'aider ?
Je ne sais pas trop, tu veux qu'il court ?
Plus sérieusement, essaye d'expliquer ce qui ne va pas pour commencer.
@Nucro, je serais tenté de te donner comme idée :
JavaFX n'était pas trop apprécié lors de la création du MOOC. Personnellement, j'utilise encore Swing par manque de temps (apprentissage d'une autre API).
Swing se retrouve dans de nombreuses applications, donc c'est plus pratique de connaitre une solution largement utilisé.
Et je ne dirais pas que java utilise JavaFX par défaut, juste que Swing est désormais déprécié, en dehors des bugs qui seront encore corrigé. Mais dans ce sens, tu peux te demander pourquoi certains utilisent encore AWT pour leurs interfaces (si si, je vous assure que j'ai vu ça il y a peu, heureusement ce collègue fait du web en général ;-) ).
- Edité par AxelHuberty 24 janvier 2016 à 22:10:31
Un accès premium d'un mois avec le code AXEL-8RR3 C'est cadeau et c'est illimité !
@ Axel: je pense que c'est la déclaration de l'image qui ne fonctionne pas à partir de la ligne 180. Car on doit faire passer un texte en une image
A vrai dire je voulais savoir si tu avais une exception ou si c'était juste pas le bon résultat. J'en conclu que c'est le résultat qui ne te satisfait pas.
Tu sembles utiliser une API utilisant son objet JImageViewer, qu'elle est l'API ?
EDIT : autant pour moi, cet objet provient de ton package
- Edité par AxelHuberty 24 janvier 2016 à 22:44:47
Un accès premium d'un mois avec le code AXEL-8RR3 C'est cadeau et c'est illimité !
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Voici mon code pour réaliser un code barre mais celui ci ne marche quelqu'un pourrait il m'aider ?