1

bonsoir

aider moi chui nul

j voudrais compiler et executer la classe CoursDonne sans le main avec comme package :
package projet;


et le main se trouve ds Main.java et j importe la classe pour pouvoir l executer :
import projet.CoursDonne;



et voila ce que j ai comme message d erreur :
Main.java:1: package projet does not exist
import projet.CoursDonne;
^
Main.java:5: cannot access CoursDonne
bad class file: ./CoursDonne.class
class file contains wrong class: projet.CoursDonne
Please remove or make sure it appears in the correct subdirectory of the classpath.
CoursDonne coursDonnes = new CoursDonne("1","2","3","4",5);
^ 2 errors



et merci d avance.

2

en gros, package == repertoire
si ta classe fait parti du package "projet", elle doit être dans un répertoire "projet".

si j'ai bien compris ton organisation de codes sources :

[repertoire de base du projet]
 |
 + Main.java
 |
 + [repertoire projet]
      |
      + CoursDonne.java


Le problème est que tu vas t'ennuyer pour l'exécution :
Plus simplement, met tous tes sources dans le même répertoire de base de ton projet, commente la ligne "package projet;"
ainsi que la ligne import projet.coursDonne;

3

au fait le main se trouve ds le meme repertoire que CoursDonne

4

donc tu n'as qu'à faire ceci :
Pen^2 (./2) :
commente la ligne "package projet;" ainsi que la ligne import projet.coursDonne;


pour compiler :
<cheminDesCodesSources>\javac *.java

pour l'exécution :
<cheminDesCodesSources>\java Main

5

qu est ce que tu veux dire par <cheminDesCodesSources>
root.projet \javac *.java par exemple non?

6

ben si tes sources sont dans le répertoire
D:\monProjetEnJava


alors tu compiles avec
D:\monProjetEnJava\javac *.java

(enfin comme d'hab, quoi wink)

7

mais moi j travaille sur linux
et j ai taper /root/projet/javac *.java
et ca marche pas

8

je ne sais pas, compile comme tu en as l'habitude (je disais ça juste histoire de te placer dans le répertoire des sources, et pas dans un répertoire au dessus par exemple)

9

ah ok bin j ai compiler et executer Main.java
tout fonctionne mais y a rien qui est afficher?!!
est ce normal?

10

Eh bien je ne sais pas, je ne peux pas répondre sans voir le code source wink

11

ah oui merde chui con tongue
//package projet;
public class CoursDonne
{
private String sigleProf,sigleCours,groupe,local;
private int heureSemaine;


public CoursDonne (String sc,String sp,String g,String l,int hs)
{

this.sigleCours=sc;
this.sigleProf=sp;
this.groupe=g;
this.local=l;
if (hs>=0 && hs<45)
this.heureSemaine = hs;
else
System.err.println("heureSemaine invalide!!!!!!! ");
System.exit(1);
}

public String getSigleProf(){
return sigleProf;
}
public String getSigleCours(){
return sigleCours;
}
public String getGroupe(){
return groupe;
}
public String getlocal(){
return local;
}
public int getHeureSemaine(){
return heureSemaine;
}

public void setSigleProf(String sp){
sigleProf = sp;
}
public void setSigleCours(String sc){
sigleCours = sc;
}
public void setGroupe(String g){
groupe = g;
}
public void setLocal(String l){
local = l;
}
public void setHeureSemaine(int hs){
if (hs>=0 && hs<45)
heureSemaine = hs;
else
System.err.println("heureSemaine invalide!!!!!!! ");
System.exit(1);
}

public String toString(){
return "sigle du prof : "+sigleProf+", Groupe : "+groupe +" ,Sigle du cours : "+sigleCours+", local : "+local+", heure dans la semaine : "+heureSemaine;

} }



et le Main
//import projet.CoursDonne;
public class Main {
public static void main ( String[]args){

CoursDonne coursDonnes = new CoursDonne("1","2","3","4",5);
System.out.println(coursDonnes);

} }



12

voici ce que fait ton constructeur :

public CoursDonne (String sc,String sp,String g,String l,int hs)
{
    this.sigleCours=sc;
    this.sigleProf=sp;
    this.groupe=g;
    this.local=l;
    if (hs>=0 && hs<45)
        this.heureSemaine = hs;
    else
        System.err.println("heureSemaine invalide!!!!!!! ");
    System.exit(1);
} 



alors qu'il faudrait qu'il fasse :

public CoursDonne (String sc,String sp,String g,String l,int hs)
{
    this.sigleCours=sc;
    this.sigleProf=sp;
    this.groupe=g;
    this.local=l;
    if (hs>=0 && hs<45)
        this.heureSemaine = hs;
    else {
        System.err.println("heureSemaine invalide!!!!!!! ");
        System.exit(1);
    }
} 




wink (ça quittait dans tous les cas avec le System.exit(1))

13

juste chui trop bete
merci bcp
et pour les packages j devrai alors travailler sans

14

nan, c'est plus propre de travailler avec, mais au début c'est pas forcément nécessaire.

15

ok mais a l avenir j vois pas comment j pourrai travailler avec les packages
vu que je n y arrive pas

16

tiger360> As-tu déjà travaillé avec l'interface Eclipse ? Quant aux packages, euh, c'est quand même la base du Java sorry

17

non j ai jamais travailler avec Eclipse j travaille avec la console
mais a l ecole j ai pas de probleme avec les packages mais chez moi ca foire

18

Yoshi Noir (./16) :
tiger360> As-tu déjà travaillé avec l'interface Eclipse ? Quant aux packages, euh, c'est quand même la base du Java sorry

oui et non, c'est juste une question d'organisation de code source.

19

sans aller jusqu'à dire que c'est la base du java, c'est plus qu'une simple organisation, c'est surtout une question de namespace et de droit d'accès.

20

oui, d'accord, mais ça ne sert à rien de se préoccuper de ça pour un helloworld, c'est tout ce que je voulais dire embarrassed

21

Pen^2 (./12) :
alide!!!!!!! "); System.exit(1);
voici ce que fait ton constructeur :    if (hs>=0 && hs<45)
        this.heureSemaine = hs;
    else
        System.err.println("heureSemaine inv
"); System.exit(1); }
alors qu'il faudrait qu'il fasse :    if (hs>=0 && hs<45)
        this.heureSemaine = hs;
    else {
        System.err.println("heureSemaine invalide!!!!!!!
wink (ça quittait dans tous les cas avec le System.exit(1))
Code Conventions for the Java™ Programming Language
7.4 if, if-else, if else-if else Statements

Note: if statements always use braces {}. Avoid the following error-prone form:
    if (condition) //AVOID! THIS OMITS THE BRACES {}!
        statement;
Mes 0.30€ embarrassed...
avatar
Je ne suis pas développeur Java : je suis artiste Java.
Ce que l’on conçoit bien s’énonce clairement, / Et le code pour l’écrire arrive aisément.
Hâtez-vous lentement ; toujours, avec méthode, / Vingt fois dans l’IDE travaillez votre code.
La perfection est atteinte, non pas lorsqu’il n’y a plus rien à ajouter, mais lorsqu’il n’y a plus rien à retirer.
You don't use science to show that you're right, you use science to become right.

22

hu ?

23

Ce que je voulais dire, c'est qu'en se forçant à mettre les accolades même pour une seule ligne, on évite ce genre de souci.
Il est possible que tiger ait fait une première version sans le System.exit, puis quand il a voulu l'ajouter dans le else, il l'a mis au bon endroit avec même la bonne indentation (en face du System.err.println)... mais sans accolades, kaboum.
avatar
Je ne suis pas développeur Java : je suis artiste Java.
Ce que l’on conçoit bien s’énonce clairement, / Et le code pour l’écrire arrive aisément.
Hâtez-vous lentement ; toujours, avec méthode, / Vingt fois dans l’IDE travaillez votre code.
La perfection est atteinte, non pas lorsqu’il n’y a plus rien à ajouter, mais lorsqu’il n’y a plus rien à retirer.
You don't use science to show that you're right, you use science to become right.

24

nan mais ça je l'avais bien compris, c'est l'histoire des 0.30&#x20AC; que je n'ai pas saisie confus

25

confus
Alors, tu as un problème de police, parce que moi, je vois bien le sigle "Euro" juste après "0.30"... (je ne pouvais donc pas deviner que c'était à cause de ça)
avatar
Je ne suis pas développeur Java : je suis artiste Java.
Ce que l’on conçoit bien s’énonce clairement, / Et le code pour l’écrire arrive aisément.
Hâtez-vous lentement ; toujours, avec méthode, / Vingt fois dans l’IDE travaillez votre code.
La perfection est atteinte, non pas lorsqu’il n’y a plus rien à ajouter, mais lorsqu’il n’y a plus rien à retirer.
You don't use science to show that you're right, you use science to become right.

26

nan mais je sais que tu parlais d'euros, c'est juste que j'ai édité mon post avec l'EDIT INLINE qui corrompt les caractères "spéciaux".
Bref, quel est le rapport avec 0.30 euros ?

27

Erf !
En fait, c'était juste pour ne pas dire « my 2 cents », mais l'idée y est hehe...
avatar
Je ne suis pas développeur Java : je suis artiste Java.
Ce que l’on conçoit bien s’énonce clairement, / Et le code pour l’écrire arrive aisément.
Hâtez-vous lentement ; toujours, avec méthode, / Vingt fois dans l’IDE travaillez votre code.
La perfection est atteinte, non pas lorsqu’il n’y a plus rien à ajouter, mais lorsqu’il n’y a plus rien à retirer.
You don't use science to show that you're right, you use science to become right.

28

oulala c 'est lourd rotfl

29

Ethaniel (./27) :
Erf !
En fait, c'était juste pour ne pas dire « my 2 cents », mais l'idée y est hehe...

ah ok, je ne connaissais pas tripo (http://en.wikipedia.org/wiki/My_two_cents_(idiom))

30

By deprecating the opinion to follow — suggesting its value is only two cents, a very small amount — the user of the phrase hopes to lessen the impact of a possibly contentious statement, showing politeness and humility.
Toutaphay chinois...
Mon ./21 n'a aucune valeur de loi absolue à respecter, seulement de petit conseil glissé en passant à qui prendra la peine de le considérer hehe...
La prochaine fois, je marquerai : « Mon humble contribution » tongue !
avatar
Je ne suis pas développeur Java : je suis artiste Java.
Ce que l’on conçoit bien s’énonce clairement, / Et le code pour l’écrire arrive aisément.
Hâtez-vous lentement ; toujours, avec méthode, / Vingt fois dans l’IDE travaillez votre code.
La perfection est atteinte, non pas lorsqu’il n’y a plus rien à ajouter, mais lorsqu’il n’y a plus rien à retirer.
You don't use science to show that you're right, you use science to become right.