Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3143 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  je vois pas l'interet des interfaces dans un exo (en fin de topic)

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

je vois pas l'interet des interfaces dans un exo (en fin de topic)

n°276144
karim63
Posté le 26-12-2002 à 19:01:39  profilanswer
 

bon je commence le java.
J'ai eu des cours en fac mais on a pas eu de TPs de java, juste du c++.
Donc la j'ai mis le jdk 1.4 windows.
Je saisi pas trop comment ça marche.
Donc la je voudrais creer un executable qui m'affiche "coucou" et pi c'est tout.  :p  
 

Code :
  1. public class bidule {
  2.    
  3.     public static void main(String [ ] arg)
  4.     {
  5. system.out.println("coucou" );
  6.     }
  7. }


 
Mais ça veut pas compiler  :)  
comment on fait ?
Dans des tutos je vois qu'il fo faire javac nomclass mais ça marche pas et java nomclass me dit erreur dans le main.


Message édité par karim63 le 29-12-2002 à 18:06:45
mood
Publicité
Posté le 26-12-2002 à 19:01:39  profilanswer
 

n°276149
karim63
Posté le 26-12-2002 à 19:19:02  profilanswer
 

mais merde  :fou: pkoi ça marche pas !

n°276162
jackmount
Posté le 26-12-2002 à 19:38:16  profilanswer
 

tu doit mettre un 'S' majuscule a system!
 
System.out.println();

n°276167
karim63
Posté le 26-12-2002 à 19:44:16  profilanswer
 

jackmount a écrit :

tu doit mettre un 'S' majuscule a system!
 
System.out.println();


 
Mais je l'ai dja fait.  :jap:  

Code :
  1. class Bidule {
  2.    
  3.     public static void main (String arg [])
  4.     {
  5. System.out.println("coucou" );
  6.     }
  7. }


 

Citation :

F:\cygwin\home\Karim\java>java Bidule.java
Exception in thread "main" java.lang.NoClassDefFoundError: Bidule/java


Message édité par karim63 le 26-12-2002 à 19:44:52
n°276168
Taz@PPC
saloperie de i=`expr $i + 1`;
Posté le 26-12-2002 à 19:46:11  profilanswer
 

javac source.java
 
java byte_code[sans le .class]


---------------
du bon usage de rand [C] / [C++]
n°276175
karim63
Posté le 26-12-2002 à 19:54:09  profilanswer
 

Taz@PPC a écrit :

javac source.java
 
java byte_code[sans le .class]


 
javac ne donne rien.
Il trouve pas javac quoi.
je comprend pas J'ai pourtant mis le jdk 1.4  :heink:  
j2re-1_4_1_01-windows-i586-i.exe

n°276177
Taz@PPC
saloperie de i=`expr $i + 1`;
Posté le 26-12-2002 à 19:54:48  profilanswer
 

re != sdk


---------------
du bon usage de rand [C] / [C++]
n°276178
karim63
Posté le 26-12-2002 à 19:56:34  profilanswer
 


 
bon benh j'etait sur le site de sun et a chaque fois que m'orientait vers SDK ça me sortait ça.
Donc si qqun a un lien.
(je vais retenter biensur mais bon)

n°276181
karim63
Posté le 26-12-2002 à 19:59:43  profilanswer
 

ok c bon j'ai trouvé.
Euh il faut que je desintalle l'autre ou il faut les deux ?

n°276182
Taz@PPC
saloperie de i=`expr $i + 1`;
Posté le 26-12-2002 à 20:00:08  profilanswer
 

normalement le sdk comprends aussi le re. alors désintalles


---------------
du bon usage de rand [C] / [C++]
mood
Publicité
Posté le 26-12-2002 à 20:00:08  profilanswer
 

n°276185
karim63
Posté le 26-12-2002 à 20:24:22  profilanswer
 

merci bien ça marche  :jap:

n°276456
--greg--
Posté le 27-12-2002 à 15:25:34  profilanswer
 

on relevera tout de meme que ce charmant jeune homme à installé un jdk windows et tentait de l'utiliser sous cygwin  :sarcastic:


Message édité par --greg-- le 27-12-2002 à 15:25:47

---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°276499
karim63
Posté le 27-12-2002 à 16:25:42  profilanswer
 

--greg-- a écrit :

on relevera tout de meme que ce charmant jeune homme à installé un jdk windows et tentait de l'utiliser sous cygwin  :sarcastic:


 
oh la mauvaise langue, c même pas vrai en plus  :p  
 

Citation :

F:\cygwin\home\Karim\java>java Bidule.java
Exception in thread "main" java.lang.NoClassDefFoundError: Bidule/java


 
C'est juste que mon rep home sous windows pour les programmes est le rep home de cygwin pour des raisons de comodités.
Cygwin permet pas de lancer des exe linux, mais seulement de compiler les sources et encore c'est pas vraiment directement portable.
Donc a mon avis c même pas la peine de penser à installer jdk a partir des sources.
Si j'utilise cygwin c'est pour avoir gcc et g++, sinon j'ai deja xemacs, freepascal, Prolog, Ocaml pour windows  :whistle:
Enfin j'ai tout aussi sous linux mais c'est merdique linux.  :p
 
J'ai que des merdes avec linux y a jamais rien qui fonctionne.  :jap:  
En plus y a même pas eMule  :D

n°276503
karim63
Posté le 27-12-2002 à 16:35:51  profilanswer
 

Code :
  1. class SuiteNum
  2. {
  3.     public static void main(String args [])
  4.     {
  5. Suite s=new Fibonacci(8);
  6. s.eval(5);
  7. System.out.println(s.toString());
  8.     }
  9. }
  10. abstract class Suite
  11. {
  12.     protected Number [] valeurs;
  13.     protected int connues;
  14.    
  15.     public void Suite(int n)
  16.     {
  17. connues=0;
  18. valeurs=new Number [n];
  19.     }
  20.     public String toString()
  21.     {
  22. String s="";
  23. for(int i=0;i<connues;i++)
  24.     {s=s+"S("+i+" )="+valeurs[i].toString()+"; ";}
  25. return s;
  26.     }
  27.    
  28.     protected void ajouter(Number x,int k)
  29.     {
  30. valeurs[k]=x;
  31.     }
  32.     abstract public Number eval(int n);
  33.  
  34. }
  35. class Fibonacci extends Suite
  36. {
  37.     Fibonacci(int n)
  38.     {
  39. Suite(n);
  40.     }
  41.     public Number eval(int n)
  42.     {
  43. if (n==0)
  44.     {
  45.  ajouter(new Long (0),0);
  46.     }
  47. else
  48.     if (n==1)
  49.  {
  50.      ajouter(new Long(1),1);
  51.  }
  52.     else
  53.  {
  54.      for(int i=2;i<=n;i++)
  55.   {
  56.       ajouter(new Long(valeurs[n-1].longValue()+valeurs[n-2].longValue()),n);
  57.   }
  58.  }
  59. connues=n+1;
  60. return valeurs[n];
  61.     }
  62. }


 
javac passe mais avec java ça me donne :
 

Citation :

Exception in thread "main" java.lang.NullPointerException
        at Fibonacci.eval(SuiteNum.java:60)
        at SuiteNum.main(SuiteNum.java:6)


 
Je vois pas d'ou ça vient.
 
Et je voudrais utiliser Super(n) a la place de ce qui est en gras mais ça passe pas.

n°276508
darklord
You're welcome
Posté le 27-12-2002 à 16:48:51  profilanswer
 

karim63 a écrit :

Et je voudrais utiliser Super(n) a la place de ce qui est en gras mais ça passe pas.
 


 
1/ Les noms de méthodes commencent par une minuscule
2/ tu dois faier super.suite(n);
 
A+

n°276509
darklord
You're welcome
Posté le 27-12-2002 à 16:49:42  profilanswer
 

c'est une blague ou tu as 3 classes dans le meme fichier java?

n°276515
karim63
Posté le 27-12-2002 à 16:52:33  profilanswer
 

DarkLord a écrit :


 
1/ Les noms de méthodes commencent par une minuscule
2/ tu dois faier super.suite(n);
 
A+


 
1/ ok
2/  :??: benh moi je veux en fait utliser le constructeur de la classe superieure. Dans mon suport de cours il est indiqué que je peux faire super( ) qui appelle le constructeur de la classe mere directement superieure.

n°276516
karim63
Posté le 27-12-2002 à 16:53:31  profilanswer
 

DarkLord a écrit :

c'est une blague ou tu as 3 classes dans le meme fichier java?


 
Non c'est pas une blague j'ai fait ça pour simplifier pour l'instant, j'ai pas encore tenté les packages import etc.

n°276519
darklord
You're welcome
Posté le 27-12-2002 à 16:56:22  profilanswer
 

karim63 a écrit :


 
1/ ok
2/  :??: benh moi je veux en fait utliser le constructeur de la classe superieure. Dans mon suport de cours il est indiqué que je peux faire super( ) qui appelle le constructeur de la classe mere directement superieure.


 
j'avais pas vu que ct le constructeur
 
super(n);

n°276521
darklord
You're welcome
Posté le 27-12-2002 à 16:56:54  profilanswer
 

karim63 a écrit :


 
1/ ok
2/  :??: benh moi je veux en fait utliser le constructeur de la classe superieure. Dans mon suport de cours il est indiqué que je peux faire super( ) qui appelle le constructeur de la classe mere directement superieure.


 
edit j'avais pas vu que ct le constructeur. Dans ce cas bien sur tu dois respecter le nom de la classe. Donc j'ai rien dit, c'est "correct"
 
Sinon pq tu fais suite dans ton code alors ... :heink:


Message édité par darklord le 27-12-2002 à 17:00:55
n°276525
darklord
You're welcome
Posté le 27-12-2002 à 17:01:18  profilanswer
 

karim63 a écrit :


 
Non c'est pas une blague j'ai fait ça pour simplifier pour l'instant, j'ai pas encore tenté les packages import etc.


 
rien à voir. Si c'est pas une classe d'une classe (une inner class) ca va dans un fichier séparé. Une classe = un fichier .java du nom de le classe. Rien à voir avec import package et

n°276531
karim63
Posté le 27-12-2002 à 17:06:13  profilanswer
 

?
et alors ça marche.
Je verrais ça apres.
Il me fait chier avec les pointeurs.

n°276532
darklord
You're welcome
Posté le 27-12-2002 à 17:06:35  profilanswer
 

karim63 a écrit :

?
et alors ça marche.


 
 :sarcastic:

n°276533
darklord
You're welcome
Posté le 27-12-2002 à 17:07:17  profilanswer
 

karim63 a écrit :

?
Il me fait chier avec les pointeurs.


 
on dit: "j'ai programmé comme un cochon et j'ai pas intialisé les variables que j'accède" qd on est honnête ... :D

n°276536
karim63
Posté le 27-12-2002 à 17:12:47  profilanswer
 

DarkLord a écrit :


 
on dit: "j'ai programmé comme un cochon et j'ai pas intialisé les variables que j'accède" qd on est honnête ... :D


 
ouep mais la c'est un tableau et c'est plus galere  :D  
Update de mon programme de merde :
 
 

Code :
  1. class SuiteNum
  2. {
  3.     public static void main(String args [])
  4.     {
  5. Suite s=new Fibonacci(8);
  6. s.eval(5);
  7. System.out.println(s.toString());
  8.     }
  9. }
  10. abstract class Suite
  11. {
  12.     protected Number [] valeurs;
  13.     protected int connues;
  14.    
  15.     public void Suite(int n)
  16.     {
  17. connues=0;
  18. valeurs=new Number [n];
  19.     }
  20.     public String toString()
  21.     {
  22. String s="";
  23. for(int i=0;i<connues;i++)
  24.     {s=s+"S("+i+" )="+valeurs[i].toString()+"; ";}
  25. return s;
  26.     }
  27.    
  28.     protected void ajouter(Number x,int k)
  29.     {
  30. valeurs[k]=x;
  31.     }
  32.     abstract public Number eval(int n);
  33.  
  34. }
  35. class Fibonacci extends Suite
  36. {
  37.     Fibonacci(int n)
  38.     {
  39. Suite(n);
  40.     }
  41.     public Number eval(int n)
  42.     {
  43. if (connues<1)
  44.     {
  45.  ajouter(new Long (0),0);
  46.     }
  47. if (connues<2)
  48.     {
  49.  ajouter(new Long(1),1);
  50.     }
  51. if ( (2<=connues) && (connues<n) )
  52. for(int i=connues+1;i<=n;i++)
  53.     {
  54.  ajouter(new Long(valeurs[n-1].longValue()+valeurs[n-2].longValue()),n);
  55.     }
  56.    
  57. if (connues<n+1)
  58.     {
  59.  connues=n+1;
  60.     }
  61. return valeurs[n];
  62.     }
  63. }

n°276537
darklord
You're welcome
Posté le 27-12-2002 à 17:14:44  profilanswer
 

pq tu fais pas un tableau de long bêtement?

n°276538
darklord
You're welcome
Posté le 27-12-2002 à 17:15:05  profilanswer
 

a tout les coup c'est foireux ca
 
if ( (2<=connues) && (connues<n) )
         for(int i=connues+1;i<=n;i++)
           {
          ajouter(new Long(valeurs[n-1].longValue()+valeurs[n-2].longValue()),n);
           }

n°276539
karim63
Posté le 27-12-2002 à 17:15:23  profilanswer
 

DarkLord a écrit :


 
edit j'avais pas vu que ct le constructeur. Dans ce cas bien sur tu dois respecter le nom de la classe. Donc j'ai rien dit, c'est "correct"
 
Sinon pq tu fais suite dans ton code alors ... :heink:


 
Benh parceque super(n); ne marche pas  :heink:
Doù ma question.
Enfin il me semble que ça revient au même de mettre super ou bien le nom du constructeur de la class dont on herite.  :heink:

n°276541
karim63
Posté le 27-12-2002 à 17:18:14  profilanswer
 

DarkLord a écrit :

pq tu fais pas un tableau de long bêtement?


 
Et bien car dans l'énoncé il veut qu'on utilise Number.
La j'ai un peut pompé la ou je bloquait sur la correction de la prof, mais moi j'avais commencé par faire un truc genre Number+Number, mais ça marche pas.
Donc effectivement au final c'est ridicule. Mais si on peut additioner deux number je veut bient savoir.

n°276542
karim63
Posté le 27-12-2002 à 17:19:06  profilanswer
 

DarkLord a écrit :

a tout les coup c'est foireux ca
 
if ( (2<=connues) && (connues<n) )
         for(int i=connues+1;i<=n;i++)
           {
          ajouter(new Long(valeurs[n-1].longValue()+valeurs[n-2].longValue()),n);
           }
 


 
 :lol: bien vu.
Si y a u truc douteux c'est bien là, mais j'ai lu et relu et je vois pas de trou.  :heink:

n°276549
darklord
You're welcome
Posté le 27-12-2002 à 17:28:24  profilanswer
 

karim63 a écrit :


 
Benh parceque super(n); ne marche pas  :heink:
Doù ma question.
Enfin il me semble que ça revient au même de mettre super ou bien le nom du constructeur de la class dont on herite.  :heink:  


 
non ca revient pas au meme et ta classe mère est abstraite. Donc c'est logique que ca fonctionne pas ...

n°276550
karim63
Posté le 27-12-2002 à 17:28:43  profilanswer
 

woula c pourrit ce que j'ai fait :whistle:

n°276551
karim63
Posté le 27-12-2002 à 17:29:17  profilanswer
 

DarkLord a écrit :


 
non ca revient pas au meme et ta classe mère est abstraite. Donc c'est logique que ca fonctionne pas ...


 
ah ok merci.

n°276554
darklord
You're welcome
Posté le 27-12-2002 à 17:32:02  profilanswer
 

karim63 a écrit :

woula c pourrit ce que j'ai fait :whistle:  


 
commence déjà par mettre une classe par fichier ...

n°276564
karim63
Posté le 27-12-2002 à 17:37:27  profilanswer
 

Bon voilà ça ressemble plus a qqchose deja.
Je vais mettre une classe par fichier, mais j'aurai besoin d'un ptit coup de pouce pour le faire.
 

Code :
  1. class SuiteNum
  2. {
  3.     public static void main(String args [])
  4.     {
  5. Suite s=new Fibonacci(8);
  6. s.eval(5);
  7. System.out.println(s.toString());
  8.     }
  9. }
  10. abstract class Suite
  11. {
  12.     protected Number [] valeurs;
  13.     protected int connues;
  14.    
  15.     public void Suite(int n)
  16.     {
  17. connues=-1;
  18. valeurs=new Number [n];
  19.     }
  20.     public String toString()
  21.     {
  22. String s="";
  23. for(int i=0;i<=connues;i++)
  24.     {s=s+"S("+i+" )="+valeurs[i].toString()+"; ";}
  25. return s;
  26.     }
  27.    
  28.     protected void ajouter(Number x,int k)
  29.     {
  30. valeurs[k]=x;
  31.     }
  32.     abstract public Number eval(int n);
  33.  
  34. }
  35. class Fibonacci extends Suite
  36. {
  37.     Fibonacci(int n)
  38.     {
  39. Suite(n);
  40.     }
  41.     public Number eval(int n)
  42.     {
  43. if (connues<0)
  44.     {
  45.  ajouter(new Long (0),0);
  46.     }
  47. if ((connues<1) && (n>=1))
  48.     {
  49.  ajouter(new Long(1),1);
  50.     }
  51. if ( (connues<n) && (n>=2) )
  52.     {
  53.  for(int i=connues+1;i<=n;i++)
  54.      {
  55.   ajouter(new Long(valeurs[n-1].longValue()+valeurs[n-2].longValue()),n);
  56.      }
  57.     }
  58. if (connues<n)
  59.     {
  60.  connues=n;
  61.     }
  62. return valeurs[n];
  63.     }
  64. }

n°276571
HappyHarry
Posté le 27-12-2002 à 17:47:40  profilanswer
 

karim63 a écrit :

Bon voilà ça ressemble plus a qqchose deja.
Je vais mettre une classe par fichier, mais j'aurai besoin d'un ptit coup de pouce pour le faire.
 

Code :
  1. class SuiteNum
  2. {
  3.     public static void main(String args [])
  4.     {
  5. Suite s=new Fibonacci(8);
  6. s.eval(5);
  7. System.out.println(s.toString());
  8.     }
  9. }
  10. abstract class Suite
  11. {
  12.     protected Number [] valeurs;
  13.     protected int connues;
  14.    
  15.     public void Suite(int n)
  16.     {
  17. connues=-1;
  18. valeurs=new Number [n];
  19.     }
  20.     public String toString()
  21.     {
  22. String s="";
  23. for(int i=0;i<=connues;i++)
  24.     {s=s+"S("+i+" )="+valeurs[i].toString()+"; ";}
  25. return s;
  26.     }
  27.    
  28.     protected void ajouter(Number x,int k)
  29.     {
  30. valeurs[k]=x;
  31.     }
  32.     abstract public Number eval(int n);
  33.  
  34. }
  35. class Fibonacci extends Suite
  36. {
  37.     Fibonacci(int n)
  38.     {
  39. Suite(n);
  40.     }
  41.     public Number eval(int n)
  42.     {
  43. if (connues<0)
  44.     {
  45.  ajouter(new Long (0),0);
  46.     }
  47. if ((connues<1) && (n>=1))
  48.     {
  49.  ajouter(new Long(1),1);
  50.     }
  51. if ( (connues<n) && (n>=2) )
  52.     {
  53.  for(int i=connues+1;i<=n;i++)
  54.      {
  55.   ajouter(new Long(valeurs[n-1].longValue()+valeurs[n-2].longValue()),n);
  56.      }
  57.     }
  58. if (connues<n)
  59.     {
  60.  connues=n;
  61.     }
  62. return valeurs[n];
  63.     }
  64. }




 
un coup de pouce pour quoi ?

n°276594
karim63
Posté le 27-12-2002 à 18:23:45  profilanswer
 

HappyHarry a écrit :


 
un coup de pouce pour quoi ?


 
pour mettre les classes dans des fichiers  :whistle:  
 
On doit vraiment faire une classe par fichier  :??:  
 
Sinon j'ai corrigé mon prog.
J'avais fait une erreur bete, dans le for de la fin du prg j'ai utilisé n au lieu de i donc ça marchait po  :lol:  
 

Code :
  1. class SuiteNum
  2. {
  3.     public static void main(String args [])
  4.     {
  5. Suite s=new Fibonacci(150);
  6. s.eval(40);
  7. System.out.println(s.toString());
  8.     }
  9. }
  10. abstract class Suite
  11. {
  12.     protected Number [] valeurs;
  13.     public int connues;
  14.    
  15.     public void Suite(int n)
  16.     {
  17. connues=-1;
  18. valeurs=new Number [n];
  19.     }
  20.     public String toString()
  21.     {
  22. String s="";
  23. for(int i=0;i<=connues;i++)
  24.     {s=s+"S("+i+" )="+valeurs[i].toString()+"; ";}
  25. return s;
  26.     }
  27.    
  28.     protected void ajouter(Number x,int k)
  29.     {
  30. valeurs[k]=x;
  31.     }
  32.     abstract public Number eval(int n);
  33.  
  34. }
  35. class Fibonacci extends Suite
  36. {
  37.     Fibonacci(int n)
  38.     {
  39. Suite(n);
  40.     }
  41.     public Number eval(int n)
  42.     {
  43. if (connues<0)
  44.     {
  45.  ajouter(new Long (0),0);
  46.     }
  47. if ((connues<1) && (n>=1))
  48.     {
  49.  ajouter(new Long(1),1);
  50.     }
  51. if ( (connues<n) && (n>=2) )
  52.     {
  53.  if (connues<=1)
  54.      {
  55.   connues=1;
  56.      }
  57.  for(int i=connues+1;i<=n;i++)
  58.      {
  59.   ajouter(new Long(valeurs[i-1].longValue()+valeurs[i-2].longValue()),i);
  60.      }
  61.     }
  62. if (connues<n)
  63.     {
  64.  connues=n;
  65.     }
  66. return valeurs[n];
  67.     }
  68. }

n°276596
darklord
You're welcome
Posté le 27-12-2002 à 18:41:06  profilanswer
 

Tu veux de l'aide pour mettre une classe dans un fichier? :heink:

n°276597
karim63
Posté le 27-12-2002 à 18:42:15  profilanswer
 

DarkLord a écrit :

Tu veux de l'aide pour mettre une classe dans un fichier? :heink:


 
non pour comprendre le principe.
package etc je sais pas a quoi ça sert même si ça a pas de rapport je voudrais bien savoir.

n°276598
karim63
Posté le 27-12-2002 à 18:46:08  profilanswer
 

en effet ça marche, c'est plus simple que ce que je pensais.Mais bon c'est pas un peu la zone avec des centaines de classes ?

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  je vois pas l'interet des interfaces dans un exo (en fin de topic)

 

Sujets relatifs
JSP avec Tomcat4, ça merde, je vois pas ce qu'y se passe !Question sur les interfaces
[XHTML] Je ne vois pas comment faire[C] Circular queue... Lol c quoi l'interet :D
webdev, sans interet ?[Flash] Je vois pas mon animation
[JAVA] Quel est l'intérêt d'un bean ?? (en association avec les JSP)Un code plus compact, utilisation d'interfaces (surement)
petit probleme avec requete Delete je pense facile mais je vois pas[mysql] j'ai pleins de join mais je vois pas comment faire autrement
Plus de sujets relatifs à : je vois pas l'interet des interfaces dans un exo (en fin de topic)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR