Jump to content

java --> maintenant assembleur


Recommended Posts

Bonjour j'ai un projet a faire en java mais je ne sais plus du tout comment faire une javadoc (j'ai brievement cherché sur notre ami : google mais rien de trouvé)

Il me semble que c'est du genre :

/**

*@return : ...

*@param year l'annee ...

*@param month le mois ...

*

*/

enfin je sais plus vraiment :zarb:

Par exemple pour ce constructeur (il ya une javadox pour les constructeur ?):

//constructeur de l objet TodoItem

public TodoItem (String descr, int year, int month, int day, int hours, int minutes){

description = descr;

GregorianCalendar moment;

moment = new GregorianCalendar(year,month,day); // attention! les mois commencent a 0 (ex: 0 = janvier)

dueDate = moment.getTime();

}

Voila merci d'avance :chinois:

Link to comment
Share on other sites

Bah je connais mais je trouve pas un endroit ou il ya un exemple, j'ai pas cherche des heures c'est vrai mais je me suis dit au lieu de devoir chercher des heures ici on me repond et c'est bon :chinois:

Je vais chercher alors ...

Merci

Edit : en fait j'avais trouve une page ou c'etait explique mais en anglais je suis nul puis la page fait 50 km et je comprend pas toutes les explications ... juste les schémas :zarb: ( ici)

Link to comment
Share on other sites

Petit exemple de ciblage Google :

- tu veux des pages en français, alors il faudra mettre des mots clés français

- tu veux un exemple, ça aide de le rajouter dans les mots clés ...

On obtient alors :

java créer javadoc commentaires exemple

C'est le deuxième résultat. En espérant que tu passeras moins de temps la prochaine fois :roll:

Link to comment
Share on other sites

Bonjour,

Cette fois - ci j'ai cherche mais j'ai pas l'impression d'avoir trouvé, je m'explique :D :

A l'exécution mon programme reçoit en 3ème parametre une date sous la forme aaaa/mm/jj (ex: java monprogramme add test 2006/03/12)

Je dois ensuite faire appel a un constructeur d'une autre classe pour construire un objet qui a comme parametre : int annee, int mois, int jours

Je ne sais pas comment faire pour décomposer la date recue en parametre (sous la forme d'un String donc) en 3 int ... j'ai bien une idee mais je ne sais pas si ca fonctionne j'ai l'impression que ca va etre lourd ...

Utiliser d'abord la méthode charAt() (qui permet d'accèder a charactere d'une chaine) pour mettre chaque chiffre de la date dans 4 variables que je transformerais en int grace a la methode parseInt() et que je concatene ensuite ... :mdr:

Voila j'espere que c'est clair :iloveyou:

Merci

Link to comment
Share on other sites

Je te conseille plutôt de faire un constructeur avec un objet GregorianCalendar plutôt qu'avec 3 int ...

Ou du moins rajoute ce constructeur qui derrière appellera ton constructeur avec 3 int.

Enuite :

Date laDateEnParametre = DateFormat.parse(args[2]);

GregorianCalendar laDate = new GregorianCalendar();

laDate.settime( laDateEnParametre );

TonObjet obj = new TonObjet( laDate );

Link to comment
Share on other sites

En fait le constructeur dont je fais appel contient un gregoriancalender ;)

jexplique :

1ere classe TodoItem serializable qui a 2 attributs privés : duedate(type Date) et description (String)

Elle a aussi un constructeur TodoItem avec comme parametre un string (description) et 5 int (jai change car javais pas vu que je devais mettre j,m,j,h,m 8) )

Dans se constructeur je met description dans description puis j'ai moment qui est de type gregorianCalendar que je construit avec les 5 entiers ensuite je le met dans duedate.

2eme class qui recoit en 2eme parametre description et en 3eme la date (aaaa/mm/jj/hh/mm) et je dois faire appel au constructeur TodoItem pour construire l'objet mais la date est donc recue sous forme de String et mise au constructer en entier. J'ai donc utilise split() et Integer.parseInt()

Donc je ne vois pas vraiment ou employer encore un GregorianCalender

De plus quand je compile la 2eme classe ca me met cannot find symbol. symbol : classTodoItem

J'ai mi pour les deux classe le meme package (package g28264.projet1;)

Je précise que je débute l'oriente objet car avant j'employais java en structuré ... je suis dans la notion de classe, objet, constructeur, ... depuis a peine 2 petites semaine :smack:

D'avance merci :D

Link to comment
Share on other sites

Disons que quand tu as une classe de date, il faut éviter au maximum d'utiliser les entiers pour rester au maximum avec l'objet GregorianCalendar (sinon, tu compliques les choses ...)

La classe DateFormat te permet de récupérer une date à partir d'une chaîne. Il est donc inuile et + complexe de splitter la chaîne ...

Un des intérêts du Java est que beaucoup de fonctions sont disponibles de base.

Donc moi je remplacerai ton objet Date en instance de TodoItem par un GregorianCalendar ...

Ensuite tu passes au constructeur directement un objet GregorianCalendar que tu as créé à partir de la date renvoyée par DateFormat ...

Tu codes en éditeur de texte ? Ton erreur vient d'une faute de frappe je pense.

Link to comment
Share on other sites

Un autre avantage de java, c'est qu'il est multiplateforme ...

Il te suffit de télécharger la JDK de sun, et tu pourras le compiler aussi bien chez toi !

Après, si tu as un peu de temps et que tu es intéressé par Java, tu peux aussi essayer Eclipse, c'est très bien qd on l'a en main, mais il faut passer un peu de temps dessus avant de bien le maîtriser.

Link to comment
Share on other sites

Un autre avantage de java, c'est qu'il est multiplateforme ...

Il te suffit de télécharger la JDK de sun, et tu pourras le compiler aussi bien chez toi !

Après, si tu as un peu de temps et que tu es intéressé par Java, tu peux aussi essayer Eclipse, c'est très bien qd on l'a en main, mais il faut passer un peu de temps dessus avant de bien le maîtriser.

C'est la portabilite ... les profs ont pas mal insisté la dessus oui

Pour eclipse en se moment je n'ai vraiment pas le temps (tout les jours cours de 8h15 a 17 ou 18h et apres je dois encore travailler donc c'est serré :francais: ) mais je pense que quand j'aurai des congé j'essayerai :-D

Link to comment
Share on other sites

Sinon j'avais posé la questiona mon prof pour le string en entier il il m'a dit que luia utilisé un substring() egalement de la classe string comme cela : (dateString et la variable qui contient le string a changer en int)

year = Integer.parseInt( dateString.substring(0,4) ) ;

J'ai donc essayé comme cela aussi et c'est assez facile :transpi:

Link to comment
Share on other sites

Bon bein pour pas reouvrir un new topic je continue ici ...

Maintenant c'ets en asm mais j'ai beaucoup de mal :resolu:

Alors je dois ecrire un programme qui lit deux nombre entiers (positif ou negatif), constitué de maximum trois chiffres et stockable chacun dans un octet. Le second entier est encodé sur une nouvelle ligne. Pour valider un nombre de moins de trois chiffres, l'utilisateur doit frapper la touche "return" (j'ai testé et c'est le code 13 je pense). Le produit de ces nombres est ensuite calculé puis affiché, deux lignes plus bas. Pour quitter, l'utilisateur doit enfoncer une touche quelconque. Si un caractere n'etant pas un chiffre est entre ou si il n'entre pas de nombre ou si l'un des nombres fournit n'est pas représentable sur un octet) afficher un message d'erreur.

Alors j'ai donc essaye mais j'ai assez peu d'information (bein oui c'ets mon deuxieme cours :8 )

1je commence deja par un nettoyage de l'ecran :

mov ax,03h

int 10h

2ensuite je dois lire un nombre :

chiffre:

mov ah,10h

int 16h

3la je compare le caractere entre pour voir si ce n'est pas la touche return :

cmp al,13

4ensuite je fais un saut conditionnel (d'abord au label continue si c'ets egal --> si return est entré ensuite on revient a chiffre qui revient a l'étape de lire un nombre)

je return

jne chiffre

je continue

continue :

ici je dois mettre le premier chiffre entre par l'utilisateur dans a (mov a,?)

ensuite je dois lire le deuxieme nombre

Puis mettre le deuxieme nombre dans b

Ensuite je dois faire le produit de a et b

Bon le probleme c'ets que je ne sais vraiment pas comment faire pour mettre les deux nombre dans a et b ... bein oui quand l'utilisateur rentre un chiffre, par exmple 3, ca met 33(code ascii du 3) dans al mais comment je fais pour transformer ce code en chiffre et ensuite mettre les 3 chiffres dans une variable pour qu'ils ne forment plus qu'un nombre ?Quelqu'un m'a parle de shl mais :mdr:

Merci (c'ets assez urgent c'ets pour demain :transpi: )

Edit : pour transformer le code en chiffre je fait sub al,30h et alors j'ai le bon chiffre mais comment faire pour vérifier que c'ets bien un chiffre :yes:

Link to comment
Share on other sites

Ben apparemment le code hexa ascii du 0 c'est 30, et celui du 9, 39 ...

Donc pour récpérer la valeur saisie, il faut que tu vérifies que le code du caractère saisi est entre 30 et 39.

Ensuite, ben tu fais la valeur du code - 30 pour avoir la valeur de la touche en nombre.

Voilà pour récupérer le nombre à partir de la touche.

Maintenant, pour faire la suite du nombre :

tant que touche entrée différent de return

nombre = touche entrée 
a = (a * 10) + nombre

fin tant que

Voili, voilou, il te reste à coder ça en assembleur ... Bon courage :transpi:

Link to comment
Share on other sites

eheh ca fonctionne (meme si c'est long)

Par contre comment afficher a l'ecran (je suis en mode video) la valeur d'un variriable

Moi ca affiche :

113

127

et je voudrais

113

127

La reponse est 14351

Merci :transpi:

Edit : ah bah mince j'avais oublie que l'utilisateur pouvait entrer un - ou un + :mdr: tampis sinon je devrais tout changer :yes:

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...