Les packages dans java... problème

Bonjour à tous,
j'ai un problème. Quand j'éxécute mon programme il me dit que mon package n'existe pas et donc la méthode que j'utilise dans mon script n'est pas reconnu.
En fait j'ai créé un petit programme qui calcule la vitesse en km/h et donc j'ai une méthode (VitesseKM) et une méthode principale pour cela.
mais le but de l'exercice est d'appeler cette méthode VitesseKM dans une autre classe VitesseTest qui sert à tester mon programme.
j'ai deja essayé avec les packages donc j'ai mis le script principal dans le package "monpaquet".
Et donc dans la classe VitesseTest j y ai importé ce package avec la classe Vitesse.
Et donc j'ai appelé la méthode vitesseKM, mais ça ne reconnait ni le paquet ni la méthode...

J'aimerai connaitre la source de mon problème car j'ai l'impression que l'erreur n'est pas difficile à trouver. :(
 

farid_h

<defunct>
Contributeur
Essayes de resumer ton code et postes le ici, pour voir ce que tu fais. Genre:

Java:
/* fichier hello.java */
package mypackage;

public class Hello {
   ...
   public static void hi();
   ...
}

/* fichier main.java */

import mypackage.Hello;

public class Main {
    public static void main(string[] args) {
        mypackage.Hello.hi();
    }
}

Il y a des erreurs dans cet exemple. C'est juste pour expliquer comment resumer du code...
 
Dernière édition:
commence par la classe Vitesse qui est le script Vitesse.java avec la méthode et méthode principale puis VitesseTest.java puis regarde l'erreur qu'on m'affiche quand je compile VitesseTest...
 

Pièces jointes

  • Capture_Erreur.png
    Capture_Erreur.png
    230.9 KB · Affichages: 10

farid_h

<defunct>
Contributeur
Le fichier Vitesse.java fait parti du package monpaquet; il faut le mettre dans le folder monpaquet/:

Code:
$ mkdir monpaquet
$ mv Vitesse.java monpaquet/
$ rm Vitesse.class
$ javac monpaquet/Vitesse.java

$ javac VitesseTest.java
$ java VitesseTest

Si tu avais declare Vitesse dans package com.example.monpaquet;
tu aurais du mettre Vitesse.java dans le path com/example/monpaquet/Vitesse.java
 
Le fichier Vitesse.java fait parti du package monpaquet; il faut le mettre dans le folder monpaquet/:

Code:
$ mkdir monpaquet
$ mv Vitesse.java monpaquet/
$ rm Vitesse.class
$ javac monpaquet/Vitesse.java

$ javac VitesseTest.java
$ java VitesseTest

Si tu avais declare Vitesse dans package com.example.monpaquet;
tu aurais du mettre Vitesse.java dans le path com/example/monpaquet/Vitesse.java
en gros faut créer un répertoire monpaquet et y mettre ma classe principale?
il suffit pas pour créer un package de juste mettre au dessus de son code "package monpaquet;" ???
En gros ca sert à quoi de mettre ça dans un dossier...
Merci :)
 

farid_h

<defunct>
Contributeur
Re @farid_h j'aimerai savoir dans quelle circonstance faut utiliser la commande "java -d" je sais à quoi elle sert mais pas pourquoi.
Quelle option -d? Je vois -d32 -d64, -da, -dsa, ... mais pas de -d; ni dans java d'oracle ni dans celui d'openjdk:

http://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html#CBBIJCHG

http://linux.die.net/man/1/java-java-1.7.0-openjdk

Tu utilises quelle version de Java? (que dit java -version)

Le -d est peut etre une option de javawrapper script qui aiguille vers le programme "java" definitif (beaucoup d'installations Unix ont ca, comme ca on peut installer plusieurs JDK differents en parallel...)?
 

farid_h

<defunct>
Contributeur
et aussi si tu pouvais me dire le package de IllegalFormatException car on le dit dans l'API mais c'est pas clair...
http://docs.oracle.com/javase/7/docs/api/

Merci
C'est dans java.util:

http://docs.oracle.com/javase/7/docs/api/java/util/package-summary.html

notamment ici:

https://docs.oracle.com/javase/7/docs/api/java/util/IllegalFormatException.html

La plupart des trucs du langage de base sont dans java.lang et sont importes par default, mais ca, c'est une exception a la regle. ;)

http://docs.oracle.com/javase/7/docs/api/java/lang/package-summary.html
 
Quelle option -d? Je vois -d32 -d64, -da, -dsa, ... mais pas de -d; ni dans java d'oracle ni dans celui d'openjdk:

http://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html#CBBIJCHG

http://linux.die.net/man/1/java-java-1.7.0-openjdk

Tu utilises quelle version de Java? (que dit java -version)

Le -d est peut etre une option de javawrapper script qui aiguille vers le programme "java" definitif (beaucoup d'installations Unix ont ca, comme ca on peut installer plusieurs JDK differents en parallel...)?
Bah java 8
Le javac -d c'est pour mettre les .class la ou on veut.
 
Haut