Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide Recherche
2403 connectés 

 


 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  21  22  23  24  25  26
Page Suivante
Auteur Sujet :

[Java] Le topic-passage-obligé pour débutants !

n°2065251
Masklinn
í dag viðrar vel til loftárása
Posté le 22-03-2011 à 10:35:20  profilanswer
 

Reprise du message précédent :

koskoz a écrit :

Sur un autre topic on m'a conseillé de sortir l18n de l'enum, mais je ne vois pas comment faire pour relier mon Messages.get("role.professor" ) à mon enum :

 
Code :
  1. public enum Role {
  2.     PROFESSOR (1, Messages.get("role.professor" )),
  3.     STUDENT (2, Messages.get("role.student" ));
  4.     
  5.     private final int id;
  6.     private final String name;
  7.     
  8.     Role(int id, String name) {
  9.         this.id = id;
  10.         this.name = name;
  11.     }
  12.     
  13.     public int getId() {
  14.         return id;
  15.     }
  16.     
  17.     public String getName() {
  18.         return name;
  19.     }
  20. }




Code :
  1. public enum Role {
  2.    PROFESSOR,
  3.    STUDENT;
  4.        
  5.    public String toString() {
  6.        return "role." + this.name().toLowerCase();
  7.    }
  8. }


Code :
  1. Role role = foo.getRole();
  2. String localized = Messages.get(role.toString());
 

et accessoirement, tu peux m'expliquer pourquoi tu définis un id, getId séquentiel pourri alors que t'as Enum#ordinal qui fait très bien le boulot?

Message cité 2 fois
Message édité par Masklinn le 22-03-2011 à 10:36:40

---------------
Being constantly subjected to something makes you somewhat immune to it, like Brits and misery. -- Craspology
mood
Publicité
Posté le 22-03-2011 à 10:35:20  profilanswer
 

n°2065254
the real m​oins moins
Posté le 22-03-2011 à 10:44:28  profilanswer
 

Masklinn a écrit :


 
et accessoirement, tu peux m'expliquer pourquoi tu définis un id, getId séquentiel pourri alors que t'as Enum#ordinal qui fait très bien le boulot?


j'allais dire que j'étais pas sur que l'ordinal soit garanti mais apparement si... enfin ça dépend qd meme largement des sources, si un guignol s'amuse a réordonner les lignes, c'est le caca :O


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°2065255
koskoz
They see me trollin they hatin
Posté le 22-03-2011 à 10:51:33  profilanswer
 

Masklinn a écrit :


Code :
  1. public enum Role {
  2.    PROFESSOR,
  3.    STUDENT;
  4.        
  5.    public String toString() {
  6.        return "role." + this.name().toLowerCase();
  7.    }
  8. }


Code :
  1. Role role = foo.getRole();
  2. String localized = Messages.get(role.toString());
 

et accessoirement, tu peux m'expliquer pourquoi tu définis un id, getId séquentiel pourri alors que t'as Enum#ordinal qui fait très bien le boulot?

 

Sauf qu'en l'occurrence foo.getRole() va me renvoyer un int, car c'est comme ça que mon rôle est stocké en BDD dans ma table user, donc je dois travailler avec les ids.

Message cité 1 fois
Message édité par koskoz le 22-03-2011 à 10:51:59

---------------
Blabla Revival, le forum qui envoie du caca | Blog | Twitter | Stats
n°2065256
Masklinn
í dag viðrar vel til loftárása
Posté le 22-03-2011 à 10:59:51  profilanswer
 

the real moins moins a écrit :


j'allais dire que j'étais pas sur que l'ordinal soit garanti mais apparement si... enfin ça dépend qd meme largement des sources, si un guignol s'amuse a réordonner les lignes, c'est le caca :O


Ouais enfin en même temps ordinal() et getId() c'est pour faire joli et pour débugger, parce que si tu commences à ballader des références à des items d'enums à coup de ordinal() ou getId(), tu manques de coup de battes dans les genoux. Même si tu veux garder une référence genre dans une db tu utilises name(), histoire de pouvoir désérialiser via Enum.valueOf.

koskoz a écrit :


 
Sauf qu'en l'occurrence foo.getRole() va me renvoyer un int, car c'est comme ça que mon rôle est stocké en BDD dans ma table user, donc je dois travailler avec les ids.


Putain mais à mort [:pingouino]

Message cité 1 fois
Message édité par Masklinn le 22-03-2011 à 11:01:21

---------------
Being constantly subjected to something makes you somewhat immune to it, like Brits and misery. -- Craspology
n°2065272
koskoz
They see me trollin they hatin
Posté le 22-03-2011 à 11:55:44  profilanswer
 

Masklinn a écrit :


Putain mais à mort [:pingouino]


 
Bah dans une bdd relationnelle tu veux que je stocke quoi ? [:pingouino]


---------------
Blabla Revival, le forum qui envoie du caca | Blog | Twitter | Stats
n°2065273
Masklinn
í dag viðrar vel til loftárása
Posté le 22-03-2011 à 11:57:08  profilanswer
 

koskoz a écrit :

Bah dans une bdd relationnelle tu veux que je stocke quoi ? [:pingouino]


Tu stockes le truc que java te donne et qui identifie ton élément au sein de l'enum: le résultat de name(), qui est trivialement inversable via Enum#valueOf(String). Et en bonus, t'as Enum#values() qui te renvoie une liste ordonnée de tous tes items.

 

Bonus moujik: la DB peut être réutilisée par des programmes tiers (y compris dans d'autres languages) qui pourront comprendre ce qui se passe au lieu de voir un entier "1" qui les aides pas exactement.

 

Ou alors tu fais pas une enum et tu utilises de vraies relations, mais t'as pas l'air parti là dessus.

Message cité 1 fois
Message édité par Masklinn le 22-03-2011 à 12:01:50

---------------
Being constantly subjected to something makes you somewhat immune to it, like Brits and misery. -- Craspology
n°2065278
koskoz
They see me trollin they hatin
Posté le 22-03-2011 à 12:09:23  profilanswer
 

Masklinn a écrit :


Tu stockes le truc que java te donne et qui identifie ton élément au sein de l'enum: le résultat de name(), qui est trivialement inversable via Enum#valueOf(String). Et en bonus, t'as Enum#values() qui te renvoie une liste ordonnée de tous tes items.
 
Bonus moujik: la DB peut être réutilisée par des programmes tiers (y compris dans d'autres languages) qui pourront comprendre ce qui se passe au lieu de voir un entier "1" qui les aides pas exactement.
 
Ou alors tu fais pas une enum et tu utilises de vraies relations, mais t'as pas l'air parti là dessus.


 
:jap:


---------------
Blabla Revival, le forum qui envoie du caca | Blog | Twitter | Stats
n°2065283
MEI
|DarthPingoo(tm)|
Posté le 22-03-2011 à 13:10:08  profilanswer
 

koskoz a écrit :


 
Bah dans une bdd relationnelle tu veux que je stocke quoi ? [:pingouino]


Il faut distinguer la couche métier de la couche d'accès au données c'est tout... :spamafote:
 
Normalement tu pourrais avoir un champs qui sorte une Date qui soit stocké dans un format loufoque en BDD que ça ne devrais pas posser de soucis.


---------------
| Intel Xeon X3370 - 8GB DDR2-800 - ATI Radeon HD 5870 1GB | Intel Core i7-2630QM - 4GB DDR3-1333 - NVIDIA GeForce GT 550M 1GB |
n°2068010
koskoz
They see me trollin they hatin
Posté le 05-04-2011 à 09:35:22  profilanswer
 

Je voudrais générer un jar exécutable mais j'ai des fichiers dans ce jar qui sont utilisés par mon programme. Je fais comment pour lui indiquer le chemin relatif ? J'ai tenté en mettant juste le nom du fichier qui se trouve à la racine du programme, sans succès.

 

Edit: en fait mon fichier est au même niveau que le dossier "src" sous Eclipse, et lorsque je génère le jar celui-ci n'est pas pris en compte.


Message édité par koskoz le 05-04-2011 à 09:43:50

---------------
Blabla Revival, le forum qui envoie du caca | Blog | Twitter | Stats
n°2068011
brisssou
8-/
Posté le 05-04-2011 à 09:43:20  profilanswer
 

un truc genre tonInstance.getClass().getResourceAsStrem(tonFichier) ça devrait marcher.


---------------
HFR - Mes sujets pour Chrom(e/ium) - vérifie les mises à jour des topics suivis/favoris // Extension Chrome pour voter sur La Grosse Radio
n°2073904
koskoz
They see me trollin they hatin
Posté le 04-05-2011 à 21:12:15  profilanswer
 

J'essaye de faire un front controller qui traite mes urls de la forme http://monurl/class/method mais après pas mal de réflexion j'ai vraiment du mal à voir comment faire :??:


---------------
Blabla Revival, le forum qui envoie du caca | Blog | Twitter | Stats
n°2073918
koskoz
They see me trollin they hatin
Posté le 04-05-2011 à 22:21:05  profilanswer
 

Pour le moment j'ai ça :
 

Code :
  1. /**
  2. * Servlet implementation class FrontController
  3. */
  4. @WebServlet("/FrontController" )
  5. public class FrontController extends HttpServlet {
  6.     private static final long serialVersionUID = 1L;
  7.  
  8.     // Initializes the servlet.
  9.     public void init(ServletConfig config) throws ServletException {
  10.         super.init(config);
  11.         Controller.setServletContext(config.getServletContext());
  12.     }
  13.  
  14.     // Destroys the servlet.
  15.     public void destroy() {
  16.     }
  17.  
  18.     /**
  19.      * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
  20.      * methods.
  21.      *
  22.      * @param request servlet request
  23.      * @param response servlet response
  24.      */
  25.     protected void processRequest(HttpServletRequest request,
  26.             HttpServletResponse response) throws ServletException,
  27.             java.io.IOException
  28.     {
  29.         
  30.         try {
  31.             Controller.request = request;
  32.             Controller.response = response;
  33.             Class<?> c = Class.forName("Foo" );
  34.             Method m = c.getMethod("index", null);
  35.             m.invoke(null, null);
  36.         } catch (ClassNotFoundException e) {
  37.             // TODO Auto-generated catch block
  38.             e.printStackTrace();
  39.         } catch (SecurityException e) {
  40.             // TODO Auto-generated catch block
  41.             e.printStackTrace();
  42.         } catch (NoSuchMethodException e) {
  43.             // TODO Auto-generated catch block
  44.             e.printStackTrace();
  45.         } catch (IllegalArgumentException e) {
  46.             // TODO Auto-generated catch block
  47.             e.printStackTrace();
  48.         } catch (IllegalAccessException e) {
  49.             // TODO Auto-generated catch block
  50.             e.printStackTrace();
  51.         } catch (InvocationTargetException e) {
  52.             // TODO Auto-generated catch block
  53.             e.printStackTrace();
  54.         }
  55.     }
  56.  
  57.     /**
  58.      * Handles the HTTP <code>GET</code> method.
  59.      *
  60.      * @param request
  61.      *            servlet request
  62.      * @param response
  63.      *            servlet response
  64.      */
  65.     protected void doGet(HttpServletRequest request,
  66.             HttpServletResponse response) throws ServletException,
  67.             java.io.IOException
  68.     {
  69.         processRequest(request, response);
  70.     }
  71.  
  72.     /**
  73.      * Handles the HTTP <code>POST</code> method.
  74.      *
  75.      * @param request
  76.      *            servlet request
  77.      * @param response
  78.      *            servlet response
  79.      */
  80.     protected void doPost(HttpServletRequest request,
  81.             HttpServletResponse response) throws ServletException,
  82.             java.io.IOException
  83.     {
  84.         processRequest(request, response);
  85.     }
  86. }


 

Code :
  1. public class Controller
  2. {
  3.     protected static ServletContext sc;
  4.     // public for purpose testing
  5.     public static HttpServletRequest request;
  6.     public static HttpServletResponse response;
  7.  
  8.     public static void setServletContext(ServletContext servletContext) {
  9.         sc = servletContext;
  10.     }
  11. }


 

Code :
  1. public class Foo extends Controller {
  2.     public static void index() {
  3.         System.out.println("win" );
  4.         
  5.         RequestDispatcher dispatcher = sc.getRequestDispatcher("/index.jsp" );
  6.         System.out.println(dispatcher);
  7.         try {
  8.             dispatcher.forward(request, response);
  9.         } catch (ServletException e) {
  10.             // TODO Auto-generated catch block
  11.             e.printStackTrace();
  12.         } catch (IOException e) {
  13.             // TODO Auto-generated catch block
  14.             e.printStackTrace();
  15.         }
  16.     }
  17. }


 
Ca fonctionne bien jusqu'à l'appel du forward dans ma class Foo, appel qui me balance cette stacktrace :


at Foo.index(Foo.java:14)
at sun.reflect.GeneratedMethodAccessor18.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at FrontController.processRequest(FrontController.java:64)
at FrontController.doGet(FrontController.java:98)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:471)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:402)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:329)


---------------
Blabla Revival, le forum qui envoie du caca | Blog | Twitter | Stats
n°2073940
the real m​oins moins
Posté le 04-05-2011 à 23:24:57  profilanswer
 

Ok


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°2073945
koskoz
They see me trollin they hatin
Posté le 04-05-2011 à 23:42:17  profilanswer
 

Ouais je sais que c'est très laid, j'expérimente :o


---------------
Blabla Revival, le forum qui envoie du caca | Blog | Twitter | Stats
n°2073952
souk
Tourist
Posté le 05-05-2011 à 02:48:58  profilanswer
 

et la stacktrace elle te dit pas ce que c'est comme exception des fois ?

n°2073988
koskoz
They see me trollin they hatin
Posté le 05-05-2011 à 09:42:41  profilanswer
 

souk a écrit :

et la stacktrace elle te dit pas ce que c'est comme exception des fois ?


 
Nan, elle remplit ma console Eclipse et m'affiche (584 more) :/


---------------
Blabla Revival, le forum qui envoie du caca | Blog | Twitter | Stats
n°2074138
souk
Tourist
Posté le 05-05-2011 à 17:52:34  profilanswer
 

[:pingouino]
je te demande juste la classe de l'Exception, c'est la premiere ligne de la stacktrace, que tu as omise dans ton copy/paste [:souk]

n°2074150
koskoz
They see me trollin they hatin
Posté le 05-05-2011 à 19:07:11  profilanswer
 

souk a écrit :

[:pingouino]
je te demande juste la classe de l'Exception, c'est la premiere ligne de la stacktrace, que tu as omise dans ton copy/paste [:souk]


 
Et je te dis que je n'y ai pas accès [:dawak]
De toute façon j'ai résolu mon problème, j'ai réécris la plupart des classes et j'ai modifié le web.xml (mais ça reste crade vu que je dois rerouter les fichiers statiques vers le default servlet.


---------------
Blabla Revival, le forum qui envoie du caca | Blog | Twitter | Stats
n°2098062
Xzion
Posté le 29-08-2011 à 10:28:03  profilanswer
 

the real moins moins a écrit :

Tutos / réferences :
Ici, quelques bons liens vers de la bonne documentation accessible. Pas questions ici de dupliquer le topic javafaq/bibliolinks, soyons efficaces, soyons bref; nous n'y mettrons que l'essentiel pour bien débuter.
[:icon4] L'anglais sera de rigueur pour beaucoup de ces références. Comme le dit Nasser Kettani, Le premier langage à apprendre pour programmer, c'est l'anglais. (Ce qui, au passage, ne dispense pas non plus d'écrire le français correctement)
 
* Tutoriels
- les inévitables tutoriels de Sun, généralement assez bien faits : http://java.sun.com/docs/books/tutorial/ Couvrent beaucoup de sujets, anglais de rigueur. (Premiers pas en Java : de l'installation à l'execution d'un HelloWorld - table des matières complète)
- Thinking In Java et Penser En Java (Traduction en français) : Excellent bouquin, dispo gratuitement sur le net.
 
 
 

Citation :

A éditer et completer



 
je me permet d'ajouter le site du zero qui pour moi ma beaucoup aidé en JAVA et je trouve les tuto vraiment bien fait  

n°2111480
BOBY44
Posté le 15-11-2011 à 12:46:35  profilanswer
 

Bonjour,
 
J'ai commencé à programmer en Java il y a un peu moins d'un mois par l'intermédiaire de BlueJ mais je suis désormais bloqué par deux choses auxquelles je ne trouve pas de solution sur les différents forums :
 
- Comment modifier le nom d'une variable à partir d'un scanner ?
Par exemple dans le cadre d'une bibliothèque pour créer un nouvel array à chaque fois que l'utilisateur rentre un nouveau livre. Si j'introduis directement ma variable string issue de mon scanner dans la variable array ça ne fonctionne pas.
 
- Comment effectuer un rapprochement entre deux variables String ?
Imaginons que je veuille mettre en place un mot de passe.
If ma variable String issue du scanner = "password"
Le système ne semble pas reconnaitre "password"...
 
Merci d'avance pour votre aide !
 
 

n°2111481
the real m​oins moins
Posté le 15-11-2011 à 12:56:35  profilanswer
 

java.util.Map
.equals()


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°2111546
BOBY44
Posté le 15-11-2011 à 15:32:30  profilanswer
 

Merci pour ta réponse the real moins moins, malheureusement je ne vois toujours pas comment faire même en passant par cette méthode.
 
Je vous joins ci-dessous mon code pour que cela soit plus explicite, je souhaiterais donc avoir un password qui supporte le String et non pas uniquement le int et également pouvoir créer un nouvel array à chaque fois pour chaque nouveau livre entré par l'utilisateur.
 
Merci d'avance pour vos conseils.
 
 

Code :
  1. /**
  2. * Library_app
  3. *  
  4. * @Fabien (your name)  
  5. * 11_11_2011
  6. */
  7. import java.util.Scanner;
  8. public class Library_app
  9. {
  10.     public static void main(String[] args) {
  11.         //variables
  12.        
  13.         Scanner reader = new Scanner(System.in);
  14.         //ask pasword
  15.         System.out.println("What is your user name? : " );
  16.         int user_name = reader.nextInt();
  17.         System.out.println("What is your password? : " );
  18.         int password = reader.nextInt();
  19.        
  20.        //pasword en String ??
  21.        
  22.        if (user_name != 0001 || password != 5682)
  23.        System.out.println("This is not a valid user name or/and password." );
  24.      
  25.        else {
  26.      
  27.        System.out.println("You want to add book information? (true or false)" );
  28.        boolean answer = reader.nextBoolean();
  29.        if (answer) {
  30.           while (answer)
  31.           {
  32.          
  33.             String[] bookString = new String[4];
  34.            
  35.             //new name for each array??
  36.            
  37.             System.out.println ("Author" );
  38.             bookString[0] = reader.next();
  39.            
  40.             System.out.println ("Book name" );
  41.             bookString[1] = reader.next();
  42.        
  43.             System.out.println ("Year of the book publication" );
  44.             bookString[2] = reader.next();
  45.      
  46.             System.out.println ("Country of the publication" );
  47.             bookString[3] = reader.next();
  48.      
  49.             System.out.println("You want to add book information? (true or false)" );
  50.             answer = reader.nextBoolean();
  51.             }
  52.             System.out.println("Good Bye" );
  53.            
  54.             //print al information stored
  55.         }
  56.         else {
  57.             System.out.println("Good bye" );
  58.         }
  59.        
  60.                
  61.     }
  62.     }
  63. }

n°2111552
LeRiton
po fo ©
Posté le 15-11-2011 à 15:48:55  profilanswer
 
n°2111562
BOBY44
Posté le 15-11-2011 à 16:14:14  profilanswer
 

Ok, j'ai réussi avec le .equals !
 
Par contre maintenant je bloque sur le deuxième point qui est de créer un array différent à chaque incrementation du while???

n°2112003
boulax
Inserer phrase hype en anglais
Posté le 17-11-2011 à 10:12:22  profilanswer
 

Bah c'est déjà ce que tu fais..


---------------
Posté depuis des chiottes, sales. Me gusta.
n°2122711
rgs29
Posté le 21-01-2012 à 19:27:29  profilanswer
 

the real moins moins a écrit :

Mini-FAQ
* JRE, JDK, J2SE, J2EE, J2ME, chuis perdu !
Alors, un petit résumé:
JRE : Java Runtime Environment : ça sert, comme le nom l'indique, à éxécuter des applications écrites en Java.
JDK : Java Development Kit : ça sert, comme le nom l'indique, à développer des applications en Java. Inclus une JRE.
J2SE : Java 2 Standard Edition : si vous commencez Java, c'est ce qu'il vous faut.
J2EE : Java 2 Enterprise Edition : J2EE est une "extension" de Java, composée de multiples APIs (EJB, JMX, JTA, et bien d'autres). A priori, il n'y a pas besoin de l'installer, contrairement à ce que l'on pourrait croire. Installez-vous un serveur d'application, et les jar nécessaires sont fournis. Vous pouvez bien entendu "télécharger J2EE", mais je conseillerais de ne rien "installer", mais simplement d'utiliser les jars fournis (voir topic classpath)
J2ME : Java 2 Micro Edition : une version "réduite" de Java, pour les appareils mobiles. (Téléphones, PDAs, ...)

 

* Comment installer la librairie XYZ?
En java, une libraire est, la plupart du temps, constituée d'un simple jar. Il suffit donc de mettre celui-ci dans votre classpath, grace à l'une des nombreuses méthodes décrites dans le topic idoine. (Voir plus haut)

 

* Lire/écrire dans des fichiers
Rapportez vous au tuto de Sun sur les i/o. En deux mots, pour lire ou écrire des chaînes de caractères, utilisez Reader/Writer et leurs implémentations; pour lire ou écrire des données binaires, utilisez InputStream/OutputStream et leurs implémentations. A partir de la jdk1.4, il y a aussi le package java.nio - si quelqu'un veut l'introduire en 2 mots ici...
Il est aussi souvent question de "logger" ce que fait votre application: dans ce cas, ne perdez pas votre temps, et utilisez l'api de logging de java (à partir d'1.4) ou log4j (il existe d'autres api de logging)

 

* Lire des *resources*
Un petit lien qui explique comment accéder à des resources dans le classpath (vu que la question revient régulierement et que le topic classpath n'en fait pas mention): http://java.sun.com/j2se/1.5.0/doc [...] urces.html
(TODO : expliquer que fichier != resource)

 

* NoClassDefFoundException, NoClassDefFoundError ??
Rapportez vous au topic classpath: soit votre classe principale ne peut être trouvée par Java, soit il manque un jar sur votre classpath.

 

* ... cannot be referenced from a static context !?
Vous essayez probablement d'appeler une méthode d'instance depuis un "contexte statique", le plus souvent votre méthode main. Renseignez-vous sur la signification du mot clé static.

 

* NullPointerException !?
Vous essayez vraisemblablement d'appeler une méthode sur un objet non initialisé, ou vous passez une réference nulle à une méthode qui ne peut l'utiliser. En lisant la stacktrace attentivement, vous devriez trouver facilement l'origine du problème. (Classe et n° de ligne dans le code source)

 
Citation :

A éditer et completer



n°2122723
the real m​oins moins
Posté le 21-01-2012 à 23:54:44  profilanswer
 

??


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°2126694
chris282
Young Chris282
Posté le 15-02-2012 à 17:55:51  profilanswer
 

salut pas vraiment débutant en java et pourtant, je galere pour un truc tout con. J'ai deja lu plein de trucs sur les passages par reference et par valeur, mais je n'ai pas trouvé de solution a mon probleme. Je simplifie le probleme a son strict minimum pour comprendre.

 
Code :
  1. Class A {
  2. public static void main(String[] args) {
  3. Integer i=0;
  4. B.fct(i);
  5. }
 
Code :
  1. Class B {
  2. static void fct(Integer i){
  3. i=8;
  4. }


Et voila boum : dans le main j'ai la valeur 0 alors que j'ai fais appel a fct(). Comment on code comme il faut ceci svp ? (je ne veux pas que fct retourne d'Integer car dans mon cas elle retourne deja un objet de type string)

Message cité 1 fois
Message édité par chris282 le 15-02-2012 à 17:56:46

---------------
Mon topic ACH/VDS Hardware
n°2126710
Masklinn
í dag viðrar vel til loftárása
Posté le 15-02-2012 à 18:35:24  profilanswer
 

chris282 a écrit :

salut pas vraiment débutant en java et pourtant, je galere pour un truc tout con. J'ai deja lu plein de trucs sur les passages par reference et par valeur, mais je n'ai pas trouvé de solution a mon probleme. Je simplifie le probleme a son strict minimum pour comprendre.

 
Code :
  1. Class A {
  2. public static void main(String[] args) {
  3. Integer i=0;
  4. B.fct(i);
  5. }
 
Code :
  1. Class B {
  2. static void fct(Integer i){
  3. i=8;
  4. }


Et voila boum : dans le main j'ai la valeur 0 alors que j'ai fais appel a fct(). Comment on code comme il faut ceci svp ?


Pour le coder comme il faut, tu renvoies une struct (un POJO) ou un tuple d'un String et d'un Integer, vu que Java n'a pas de valeurs de retour multiples.

 

Pour coder n'importe comment et émuler un out parameter, http://stackoverflow.com/questions [...] -reference


Message édité par Masklinn le 15-02-2012 à 18:37:10

---------------
Being constantly subjected to something makes you somewhat immune to it, like Brits and misery. -- Craspology
n°2126712
chris282
Young Chris282
Posté le 15-02-2012 à 19:09:54  profilanswer
 

thx dude !  (je prend la 1ere option :D )


Message édité par chris282 le 15-02-2012 à 19:10:25

---------------
Mon topic ACH/VDS Hardware
n°2129131
Prince DeL​U
Posté le 01-03-2012 à 15:02:15  profilanswer
 

drapal :D
je me suis lancé dans le java depuis novembre via une formation.
pour les références je me suis beaucoup servi (et me sers encore) du tuto site du zero, très clair dans les explications et permettant d'appréhender pas mal de concepts.
En tout cas c'est vraiment super intéressant, même si je m'arrache pas mal les cheveux sur les jsp/servlets/beans, et surtout pour faire quelque chose de propre :D


---------------
Last.fm <> PSN: Prince_DeLU
n°2139647
ctrlfix
un jus de Cyprine?
Posté le 28-04-2012 à 20:40:15  profilanswer
 

Merci :)


---------------
Overclocking made in france
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  21  22  23  24  25  26
Page Suivante

Aller à :
Ajouter une réponse
 

Sujets relatifs
[Java] Outil de gestion de "composants"; GraphEdit "like"[Java/xml] Caractères à la con ds un .xml généré en dom
Cryptage md5 & javaGénération d'images en Java (server side)
[Java] [Resolu] Erreur ODBC État de curseur non valide[JAVA] caractères accentué différents selon OS
[JAVA] Pb affichage caractèrecréer un répertoire en java
copier-coller en javapassage de c++ a php
Plus de sujets relatifs à : [Java] Le topic-passage-obligé pour débutants !


Hit-Parade
Copyright © 1997-2012 Hardware.fr SARL / Groupe LDLC / LesNumeriques.com / Version anglaise du site: BeHardware