Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 11/12/2006, à 21:07

Piervit

librairie java

Bon, je suis pas un pro de la prog ^^ mais j'espere progresser.
J'ai déja fait des petits programmes en python mais maintenant j'ai des cours et malheuresement ca se passe en java.
J'ai déja au moins 2 questions en tete (j'ai chercher mais pas trouver de réponse sad):

Premierement:
Comment utiliser les librairies présentes sur le site de sun (http://java.sun.com/j2se/1.5.0/docs/api/index.html)? On ne peut visiblement pas les dowloader, c'est quelles doivent etre déja comprit dans les biblio par défaut de java 5. Mais alors comment les appeler? J'ai lu qu'on fait quelque chose du style

import java.io.*;

. Mon probleme concerne la saisie de caractere au clavier par l'utilisateur, or malgrés cette nouvelle librairie, lorsque j'utilise la commande

readInt();

, il refuse de me le compiler en me disant

cannot find symbol

? Qu'est ce que je dois faire de plus? qu'est je mal fait?

Ma deuxieme question est plus courte ^^, quel est la librairie qui permet de faire des sous-programes pour un programme principal? comment ca marche?

Je vous remercie d'avance, pour vos réponses


Si vous avez un peu de temps, visitez mon site web:
[L'iceberg de Tux

Hors ligne

#2 Le 11/12/2006, à 21:42

Crashforburn

Re : librairie java

File ton code, se sera plus facile à juger wink

PS : En Java,  tu peux pas appeler une fonction comme ça, tu dois obligatoirement appeller une fonction présente dans une classe comme : System.out.println("Bonjour") wink


Un blog inutile de plus : http://crashforburn.free.fr/dotclear/
[Membre du club des beaux Ubunteros] : http://forum.ubuntu-fr.org/viewtopic.php?pid=535299
Contre la nouvelle année, votons fonacon : http://www.fonacon.net/

Hors ligne

#3 Le 11/12/2006, à 22:14

Piervit

Re : librairie java

mon code:

import java.io.*;
public class helloperso
{
public static void main (String [] arg)
    {
    int suite;

    System.out.println ("Pour voir un véritable 'hello world' tapez 1");
    suite=readInt();
    if (suite==1)
    {
    System.out.println ("Hello world");
    }
    }
}

mon message de compilation:

pierre@T40PIERRE:~/Desktop$ javac helloperso.java
helloperso.java:9: cannot find symbol
symbol  : method readInt()
location: class helloperso
    suite=readInt();
          ^
1 error


Si vous avez un peu de temps, visitez mon site web:
[L'iceberg de Tux

Hors ligne

#4 Le 12/12/2006, à 00:03

elmut

Re : librairie java

je te conseil ca !

import java.util.Scanner;
public class helloperso
{
public static void main (String [] arg)
    {
    int suite;
    Scanner sc = new Scanner(System.in);

    System.out.println ("Pour voir un véritable 'hello world' tapez 1");
    suite = sc.nextInt();
    
    if (suite==1)
    {
    System.out.println ("Hello world");
    }
    }
}

je ne savais pas qu'il y avait un readInt (existe-t-il vraiment) mais j'ai toujours utilisé un scanner pour les lectures clavier smile

Hors ligne

#5 Le 13/12/2006, à 18:43

Piervit

Re : librairie java

Merci beaucoup pour ta réponse, je vais essayer.
Au passage, j' ai trouver le readInt dans les librairies java de sun (http://java.sun.com/j2se/1.5.0/docs/api), dans  java.io/DataInput.

Dernière modification par Piervit (Le 13/12/2006, à 18:45)


Si vous avez un peu de temps, visitez mon site web:
[L'iceberg de Tux

Hors ligne

#6 Le 13/12/2006, à 18:55

Piervit

Re : librairie java

Ta méthode marche big_smile. Merci beaucoup
Mais ca me pousse à poser une nouvelle question (faite gaffe, maintenant je vais pas arreter:))

Ca je sais que c'est un objet:

Scanner sc = new Scanner(System.in);

On à créé l'objet Scanner sc qui utilise Scanner(System.in). Maintenant si au lieu de l'appeler "Scanner sc" je change son noms, l'objet ne fonctionne plus, ca veut dire que un objet est défini par son nom? et pas uniquement par ce qui le compose (ici Scanner(System.in) ?


Si vous avez un peu de temps, visitez mon site web:
[L'iceberg de Tux

Hors ligne

#7 Le 16/12/2006, à 10:12

elmut

Re : librairie java

Si tu fais

Scanner sc = new Scanner(System.in);

alors tu dois forcement utiliser sc.next...();

si tu change est met

Scanner attenteClavier = new Scanner(System.in);
alors tu dois faire
attenteClavier.next...();

Un objet est une instanciation de classe.... en gros tu dis pour l'objet (que tu nomme sc) tu lui donnes les caractéristiques de la classe Scanner.
Tu es donc obligé d'utilisé son nom (sc) si tu veux utiliser la classe et ses méthodes.

Apres rien t'empeche de creer plusieurs objets (sc et attenteClavier) mais la ca sert à rien pour Scanner wink

j'espère avoir été clair smile

Dernière modification par elmut (Le 16/12/2006, à 10:15)

Hors ligne

#8 Le 24/12/2006, à 13:35

Piervit

Re : librairie java

Trés clair. Merci beaucoup pour ce post, je vais finir par m'y retrouver ^^

Joyeux noel smile


Si vous avez un peu de temps, visitez mon site web:
[L'iceberg de Tux

Hors ligne

#9 Le 24/12/2006, à 19:17

nico_h

Re : librairie java

Piervit a écrit :

mon code:

import java.io.*;
public class helloperso
{
public static void main (String [] arg)
    {
    int suite;

    System.out.println ("Pour voir un véritable 'hello world' tapez 1");
    suite=readInt();
    if (suite==1)
    {
    System.out.println ("Hello world");
    }
    }
}

mon message de compilation:

pierre@T40PIERRE:~/Desktop$ javac helloperso.java
helloperso.java:9: cannot find symbol
symbol  : method readInt()
location: class helloperso
    suite=readInt();
          ^
1 error

Un appel de méthode en java doit se faire par le biais d'un objet (ex. si tu as déclaré un objet de la classe contenant la méthode readInt() et que tu l'as appelé a : a.readInt())... Si tu ne précises pas d'objet (avec son nom et un point devant la méthode), il considère que c'est une méthode définie quelque part dans le même fichier.  En trouvant readInt() tout seul, il a donc cherché si ta classe helloperso (ou bien quelque part d'accessible dans le fichier qui la contient) contenait une méthode readInt(). Il ne l'a pas trouvée... et donc il a affiché le message 9: cannot find symbol


Config. actuelle : linux mint 22.04 | FreeBSD 12
Des exercices d'entraînement en maths : http://mr.hainaux.net/

Hors ligne