Application Java sous eclipse3.0 - Java - Programmation
Marsh Posté le 11-10-2005 à 22:56:56
Hé beh, c'est tout pour ton TFE ?
C'est pipo on dirait, mais si t'es total noob, ça va bien t'occuper.
- "Thinking in Java". Vois les bibliolinks sur ce forum.
- Tuto sur le site de Sun : fichiers, streams, jdbc (si accès à une DB).
- Topic "Passage obligé débutants" sur ce forum.
- Topic "Classpath".
Commencer sous Eclispe, c'est vraiment pas une bonne idée, par contre!
Marsh Posté le 12-10-2005 à 17:29:50
Euh oui en fait c'est le stage qui regroupe cette partie et une interface graphique, mais le maitre de stage a voulu absolumment que l'on fasse notre TFE sur le sujet afin que l'on puisse travailler sous Linux sur Eclipse avec Java comme il sait très bien que nous sommes des "novices" en la matière...
Au fait merci pour les infos je vais ovir sur ces sujets...
Marsh Posté le 14-10-2005 à 11:24:22
Salut à tous
Est ce que qq1 peut me dire et m'ewpliquer pourquoi ds ce code :
import java.io.*;
public class FluxEntreeTexte
{
public static void main(String[] args) throws IOException
{ String NomFichier = "[ASCII"; //Mise en stockage du fichier ds NomFichier
String Tab[] = new String [10];
BufferedReader entree = new BufferedReader(new FileReader(NomFichier)); //Mise en m?moire tampon des donnees
String chaine;
int i=1;//Preparation chaine de reception
while((chaine = entree.readLine())!=null)
{ System.out.println(chaine); //Lecture jusque fin fichier
Tab[i]=chaine;
i++;
}
entree.close(); //fermeture fichier
/*for(i=1;i<=10;i++)
{ System.out.println("\n" );
System.out.println(Tab[i]);
}*/
}
}
J'ai un problème??? Je suis comme je l'ai dis plus haut un "ultra novice" en java et je comprends pas pourquoi je ne peux pas stocker ligne par ligne ds un tableau afin de pouvoir manipuler par la suite les données ex : aller chercher à la 1 ligne 2 ème colonne un nombre!!!
PLZ HELP
Marsh Posté le 14-10-2005 à 11:35:56
euh...
Je viens de me rendre compte d'un truc tout cn c'est que je pouvais directement mettre ds un tableau 1 dimension celui de chaine[] dsl pour le dérangement...
Marsh Posté le 14-10-2005 à 11:49:11
sircam a écrit : Hé beh, c'est tout pour ton TFE ? |
Pas mieux
Citation : Commencer sous Eclispe, c'est vraiment pas une bonne idée, par contre! |
+12503
Marsh Posté le 14-10-2005 à 11:51:16
Oui je c je suis nul ms je n'y peux rien c'est pour cette raison que j'essai de m'accrocher à toutes les branches possible.
Mon problème ici c'est que je veux stocker mon fichier texte dans un tableau 2 dimensions ms je rame...
Marsh Posté le 14-10-2005 à 11:53:38
xmen645 a écrit : Oui je c je suis nul ms je n'y peux rien c'est pour cette raison que j'essai de m'accrocher à toutes les branches possible. |
Commence par te renseigner et te former, et ensuite commence à coder.
Suis le tuto Java en entier, puis télécharges Thinking in Java 2 (ou la beta du 3) et commence à le lire tout en conteptualisant tes idées.
Et codes avec un simple éditeur de texte, pas Eclipse.
Marsh Posté le 14-10-2005 à 11:55:25
merci pour tes conseils avisés vraiment...
Le problème est que l'entreprise de mon stage VEUT impérativement travailler sous éclipse avec java...
@++ et bonne journée
Marsh Posté le 14-10-2005 à 11:56:59
Et si ton Maître n'est pas d'accord, tu nous l'envoie, on lui expliquera.
Marsh Posté le 14-10-2005 à 12:01:27
xmen645 a écrit : merci pour tes conseils avisés vraiment... |
Eux oui, toi là t'es tout juste en train d'apprendre le langage, de te former (t'es pas censé connaître le Java là tout de suite si non parce que le mytho c'est bien mais faut pas en abuser )
Donc pour te former, pour apprendre les bases du langage, pas d'IDE.
De cette manière tu sais comment ça fonctionne, et tu rencontres et apprends à résoudre maintenant des problèmes que tu auras de toute façon un jour ou l'autre. Et si tu ne comprend pas ces problèmes dès le départ tu vas douiller très très cher quand tu vas te les manger au coin de la figue dans le futur.
Marsh Posté le 14-10-2005 à 12:03:49
je suis d'accord avec vous ms le choix je l'ai pas dc je dois me battre jusqu'à la mort meme si elle est proche.
Je me trouve débille de pas savoir stocker un fichier texte ds un tableau déjà alors...
Marsh Posté le 14-10-2005 à 12:21:40
Tant pis pour toi. On t'aura prévenu.
Marsh Posté le 14-10-2005 à 13:11:29
Même si on veut t aider ca va etre dur vu la maniere dont tu décris ton problème, on sait même pas comment est structuré ton fichier, tu dis seulement qu il faut recupere des chiffres et des mots...
Marsh Posté le 14-10-2005 à 13:15:37
j'ai :
Mot1 9 2,2 4 7
1,1 Mot2 6 2 0
etc..
ici je ne met que 2 lignes je suppose que vous avez compris...
Je bosse dessus pour le moment et j'arrvie à le lire ligne par ligne et visiblement pour arriver à extraire un bloc du style Mot2 ou 4 par exemple je dois le passer ds un tableau 2 dimensions et pour ce faire je dois découper un ligne de string en une série de petit bloc séparé par un espace, j'ai trouvé une métohde appelée Tokenizer dont j'essaide comprendre le fonctionnement et un split là ms j'ai uen erreur c pas clair...
Voilà pour l'explication.
Marsh Posté le 14-10-2005 à 13:17:52
Ok bah c est pas dur et t es sur la bonne voie avec la classe Tokeniser, elle est tres simple d utilisation
Marsh Posté le 14-10-2005 à 13:19:28
merci je vous assure qu'en temps que novice c pas simple d'avancer efficacement...je fais de mon mieux ms c galère il me faut 3 heures pour faire un truc, c comme si on voulait conduire un 40 tonnes alors kon ne c pas encore conduire une mini!!!!!
Marsh Posté le 14-10-2005 à 14:00:12
import java.io.*;
public class FluxEntreeTexte
{
public static void main(String[] args) throws IOException
{
String NomFichier = "[ASCII"; //Mise en stockage du fichier ds NomFichier
String Tab[][] = new String [12][12];
BufferedReader entree = new BufferedReader(new FileReader(NomFichier)); //Mise en m?moire tampon des donn?es
String chaine []=new String [12];
int i=1,j=1;
while((chaine [i]= entree.readLine())!=null) //condition de lecture jusque fin fichier
{ java.util.StringTokenizer tokenizer= new java.util.StringTokenizer (chaine[i]," " );
for(j=1;j<=5;j++)
{
Tab[i][j]= tokenizer.nextToken();
}
i++;//incr?menter pour le passer de ligne en ligne dans le tableau
}
entree.close(); //fermeture fichier
for(i=1;i<=10;i++)
{
for(j=1;j<=5;j++)
{
System.out.println(Tab[i][j]);
}
}
}
}
Voilà je suis arrivé à stocker les données ds le tableau comme je veux et mnt pour le programme les valeurs sont bien à part, mnt ms c juste une question de lecture je pense ss lui demander de passer à la ligne lors de l'affichage du tableau il passe tout à la ligne
dc:
Mot1
9
2.2
etc
PQ??? je lui demande pas pourtant???
Merci d'avance!!!
Marsh Posté le 14-10-2005 à 14:08:18
N utilise pas fonction "println" mais "print" si tu ne veux pas repasser a la ligne
Marsh Posté le 14-10-2005 à 14:12:35
xmen645 a écrit : merci je vous assure qu'en temps que novice c pas simple d'avancer efficacement...je fais de mon mieux ms c galère il me faut 3 heures pour faire un truc, c comme si on voulait conduire un 40 tonnes alors kon ne c pas encore conduire une mini!!!!! |
C'est pour ça qu'on te dit d'apprendre à marcher au lieu de tenter de courir
Marsh Posté le 14-10-2005 à 14:40:59
masklinn a écrit : C'est pour ça qu'on te dit d'apprendre à marcher au lieu de tenter de courir |
Oui ms je n'ai pas le choix...donc je dois faire avec ...
Marsh Posté le 14-10-2005 à 14:41:30
Oreste a écrit : N utilise pas fonction "println" mais "print" si tu ne veux pas repasser a la ligne |
Merci je n'ai av pas pensé c comme en Pascal merci...
Marsh Posté le 14-10-2005 à 14:51:46
xmen645 a écrit : Oui ms je n'ai pas le choix...donc je dois faire avec ... |
Bon beh, ne t'étonne pas si tu te casses les dents.
Marsh Posté le 14-10-2005 à 14:53:54
oui je c en tous cas je vous remercie grandement je comprends vos mises en gardes, ms étant donné que eclipse m'est imposé l'alternative n'est pas de mise...
J'espère néanmoins parvenir à mes fins j'ai le moral et je compte sur des gens comme vous afin de m'aider si besoin est...
Marsh Posté le 14-10-2005 à 16:43:09
Re Bonjour à tous !!!
Est il possible de faire un Transtypage d'un char vers un int???
Marsh Posté le 14-10-2005 à 16:56:08
xmen645 a écrit : Re Bonjour à tous !!! |
Code :
|
Marsh Posté le 14-10-2005 à 17:01:24
ok bien bien
Autant pour moi ms si on a dans le caractère exemple que tu as pris c='1';
Comment faire passer cette valeur en entier ds i???moi en faisant ta méthode ca ne marche pas ou je ne c pas l'utiliser???!!!???
Marsh Posté le 14-10-2005 à 17:02:45
Ca te dirait pas d'apprendre à faire du java
Marsh Posté le 14-10-2005 à 17:03:56
ReplyMarsh Posté le 14-10-2005 à 17:06:50
xmen645 a écrit : OK merci nerisson ca marche!!!@++ |
Marsh Posté le 19-10-2005 à 18:10:13
Bonjour,
On s'en fiche un peu de l'ide utilisé finalement. C'est vrai qu'en travaillant directement avec des fichiers textes, on comprend mieux ce qui se passe, au début. Ensuite sur des gros projets, un ide ca facilite la vie (ou un bon emacs customisé).
Cependant, l'ide en fin de compte ne va pas te faire ton programme. De plus ca t'est imposé d'utiliser eclipse, donc je ne vois pas pourquoi cela dérange certaines personnes....
Un petit point sur ton script :
essai de découper en fonction, une fonction correspondant à une 'action' : ex: fonction chargerFichierEnMémoire, fonction rechercherMot, fonction afficherMot. Cela facilite la relecture, maj du code.
Essai de découper en classe : classe de lecture du fichier, classe d'écriture dans un fichier.
Ensuite, essai de te documenter sur les différents type java : les listes / vector en particulier, car elles te permettent de construire des 'tableaux dynamiques', cad des tableaux à taille variable. Elles intègrent déjà des fonctions de recherches.
Enfin le tableau args[] dans la fonction main contient les paramètres passés à l'executable :
par exemple : la ligne de commande 'java appli fichierX motRecherché' te permet de récupérer dans ton appli les deux paramètres fichierX et motRecherché. Ils sont stockés dans le tableau args[0] et args[1] respectivement.
Voila j'espère que ca t'aidera à bien débuter
Marsh Posté le 19-10-2005 à 18:26:28
bobbyto > Un peu de pelle à clous ?
Citation : De plus ca t'est imposé d'utiliser eclipse, donc je ne vois pas pourquoi cela dérange certaines personnes.... |
Parce qu'on ne commence pas avec un IDE, et encore moins avec Eclipse ! Sauf si on veut se casser le dents et ne pas comprendre ce qu'on est en train de faire.
Citation : les listes / vector |
Faut te remettre à jour.
Marsh Posté le 19-10-2005 à 21:16:34
Salut à tous
Je vous remercie d'avoir été dur avec moi et de m'ouvrir les yeux sur une programmation nouvelle pour moi et maintenant j'ai compris que le concept objet av été zappé de ma part
Je me suis documenté plus et j'ai eu pas mal d'info théorique de mon prof de programmation et j'ai le grand plaisir d'etre arrivé au bout de mon application...
Pourtant j'ai ""encore"" besoin de vous...
Maintenant que j'ai traité mes données et que le tableau qui les contient , j'aimerai remettre les données de ce tableau dans un fichier (style fichier texte) et là je suis un peu dans le lac.
J'ai essayé un BufferedWriter mais la méthode n'est pas bien comprise de ma part dans ce sens.La lecture ok mais pas l'écriture meme je suppose ca diot etre assez proche.
Mon problème est donc :
* Enregistrer les données du tableau dans un fichier texte
Marsh Posté le 19-10-2005 à 21:21:33
Le tutorial de sun con tient de la kalitai :
http://java.sun.com/docs/books/tut [...] ation.html
(le mot clef est sérialization)à
Marsh Posté le 19-10-2005 à 23:31:12
C super merci c mieux comme ca celà dit j'ai encore un stress
Pourquoi met il des caractères spéciaux ds le fichier ds lequel je stocke???
C'est assez génant dans la lecture pourtant je fais ceci :
FileOutputStream test = new FileOutputStream ("Fichier.txt" );
ObjetOutputStream ecrire = new ObjetOutputStream (test);
for (i=1;i<=longtotal;i++)
{
for (j=1;j<=largtotal;j++)
{
ecrire.WriteObjet(Tab[i][j]); //Tab etant mon tableau contenant les nombres
}
}
Après ca dans mon fichier.txt il me met mes données avec entre chaque ^@^"la donnée"t^@^"donnée"t^@^...
Que dois je faire pour contre carrer ca???
Marsh Posté le 19-10-2005 à 23:42:03
C'est le format de serialization, c'est un format binaire dont tu n'a pas à t'en occuper.
Marsh Posté le 19-10-2005 à 23:57:23
oui ms qd je reboot mon programme visiblement les caractères spéciaux lui pose problème avex mon parsage de tokenizer...
Je c pas koi faire, y a rien d'autre que ce que j'ai fais auparavant pour s'en sortir???
Marsh Posté le 20-10-2005 à 00:05:17
pour relire ton fichier, tu passe par readObject ?
Parceque si tu veux repartir toi même, il va falloir faire ton propre serializeur
(c'est trois pages plus loin dans le tuto)
Marsh Posté le 20-10-2005 à 00:08:38
OK en fait non je lis un fichier existant avec un buffer normal , je lis ligne par ligne que je parsse etc.. donc pour toi avec la methode de readObjet ca ira???meme si au départ il n'y a pas eu de véritable sauvegarde???j'entends par là le fichier éditer de base avec les valeur entrée à la main...???!!!???
Marsh Posté le 20-10-2005 à 09:02:59
J'ai une question vitale...
Le problème selon ce que je comprends c'est que je lis de facon Séquentielle dans le fichier de base et je le sauve de facon série...donc ca pose problème ds la relecture après la sauvegarde.
Est il possible de faire ujne sauvegarde Séquentielle???
Marsh Posté le 11-10-2005 à 22:31:52
Bonjour à tous je suis nouveau sur le forum et je me permet de poster un ptit message pcq j'ai besoin d'une ame généreuse afin de m'éclairer.
Je dois effectuer un TFE (Travail de Fin d'Etude) en java sous eclipse 3.0 sur un programme qui effectue un listage de données dans un fichier texte, c'est à dire que ce fichier devra contenir des mots et des chiffres et le programme a réaliser devra en principe savoir aller chercher un de ces mots ou un de ces chiffres que l'on désire et meme pourvoir les modifier.
Seulement le problème c'est que moi et le Java on se découvre et je n'ai qu'une formation moyenne en C.
je me suis renseigné et j'ai déjà qq exemples de code ms assez loin de ma réalité!!!!
Est ce que qq1 peut me mettre sur la voie ou m'aider svp???
Merci d'avance
Xmen645