IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Affichage d'une chaîne de caractères


Sujet :

avec Java

  1. #1
    Membre du Club
    Homme Profil pro
    PHP + JAVA
    Inscrit en
    Mars 2009
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : PHP + JAVA

    Informations forums :
    Inscription : Mars 2009
    Messages : 65
    Points : 60
    Points
    60
    Par défaut Affichage d'une chaîne de caractères
    Voilà j'ai écrit ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    import java.util.Scanner;
    public class tableau
    {
        public static void main(String[] args)
    {
            int i=0,l;
        char tab[],sais;
        System.out.println("Saisissez le nombre de lettres");
        Scanner sc = new Scanner(System.in);
        l=sc.nextInt();
        tab=new char[l];
        sais=sc.next().charAt(0);
        while(sais!='.' && i<tab.length)
            {
                tab[i]=sais;
                i++;
                sais=sc.next().charAt(0);
            }
            System.out.println(tab);
    }
    }
    Comme vous l'avez certainement compris je saisi une suite de caractère de longueur voulue par l'utilisateur et je l'affiche pour tester si cela fonctionne bien.
    J'ai testé avec un for:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        for (i=0;i<l;i++)
        {
            System.out.print(tab[i]);
        }
    rien n'y fait il m'affiche ma première lettre correctement par exemple 'o' mais les autres c'est l'horreur il m'affiche des petits carrés à la place.
    Cela vient de java lui-même qui veut pas afficher chaque lettre(car apparemment la saisie se passe bien vu qui m'affiche bien le nombre de lettres demandées mais avec des petits carrés)?
    Ou cela vient de mon code (ce qui est très certainement probable)?

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    tu appuie bien sur enter entre chaque lettre? ou tu met des espaces entre? C'est quoi ce teste avec le point ('.')? Il est là pour quoi?

  3. #3
    Membre du Club
    Homme Profil pro
    PHP + JAVA
    Inscrit en
    Mars 2009
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : PHP + JAVA

    Informations forums :
    Inscription : Mars 2009
    Messages : 65
    Points : 60
    Points
    60
    Par défaut
    Non je tapais mon mot par exemple olivier sur la même ligne et ensuite je faisais entrer. Pour le point c'est pour finir la saisit comme ça, ça me donne un repère d'arrêt de saisit.
    J'ai essayé ce que tu m'as dis et ça fonctionne mais c'est pourri!J'en crois pas mes yeux alors que la plus part des autres langages permettent ce genre de truc(comme Ada).Y a pas moyen de saisir sur une seule ligne? ça serait vraiment bien.(je me demandais si c'était possible avec les strings).
    C'est à dire saisir un mot en string c'est possible?
    Et à ce moment il serait possible de saisir sur la même ligne(certainement).

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    tu le fais déjà, en fait ton code lit la première lettre de chaque mot. Comme tu n'ecris qu'un mot et que tu saisi le '.' après, ton tableau ne contient qu'une seule lettre, les autres sont à 0, ce qui donne ces carrés.


    Quand tu fais:
    ça lit déjà un token complet (donc par défaut, un mot)

    Donc si tu remplace ton code par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Scanner sc = new Scanner(System.in);
    String saisie = sc.next();
    System.out.println(saisie);
    t'affichera le mot lut. Bref faut pas chercher midi à 14h30

  5. #5
    Membre du Club
    Homme Profil pro
    PHP + JAVA
    Inscrit en
    Mars 2009
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : PHP + JAVA

    Informations forums :
    Inscription : Mars 2009
    Messages : 65
    Points : 60
    Points
    60
    Par défaut
    Ok je vois. Donc au lieu de faire ... à créer un tableau. Je met un string à la place qui me permet de saisir sur une seule ligne(j'ai testé ton code ça fonctionne au quart de poil)un mot aussi long que je veux.
    Merci de ce renseignement très pratique.
    Parce que je venais d'un autre langage qui acceptait ce que j'ai décrit précédemment. Merci encore!!! Simple comme un bonjour.

  6. #6
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    java permet la lecture caractère par caractère via un inputStreamReader, qui est une autre classe. Bref utiliser le bon outils pour la bonne action

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Saisie et affichage d'une chaîne de caractères
    Par thouraya24 dans le forum x86 16-bits
    Réponses: 8
    Dernier message: 13/04/2009, 19h01
  2. Problème d'affichage d'une chaîne de caractères
    Par bob32 dans le forum Assembleur
    Réponses: 13
    Dernier message: 23/06/2008, 22h06
  3. limiter l'espace d'affichage d'une chaîne de caractères
    Par loic.ledouble dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 26/04/2008, 22h49
  4. [MySQL] Affichage d’une chaîne de caractères contenant des parenthèses
    Par mathiotp dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 20/11/2007, 20h31
  5. Saisie et affichage d'une chaîne de caractères
    Par sali dans le forum Assembleur
    Réponses: 2
    Dernier message: 31/03/2004, 18h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo