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 :

Problème avec les String


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2013
    Messages : 7
    Par défaut Problème avec les String
    Bonjour a tous!

    J'ai un programme ou il faut que je fasse des operations ET, OU et XOR entre deux strings prealablement verifiés ( ils contiennent des suites de 0 ou de 1. entre 4 et 12 caractere de longueur et ils ont la meme longueur ).

    Mon probleme c'est au moment d'afficher le resultat des operations entre mes deux fameux string. Je veux prendre un char et le mettre dans un string. jai essayer de facon suivante :

    Code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    String resultat  = "";
     
    for (int i = 0; i <= s1.length(); i= i++) {
                if (s1.charAt(i) == 1 && s2.charAt(i) == 1) {
                     resultat.charAt(i) = '1' ;
                } else {
                    resultat.charAt(i) = '0' ; 
                }
            }


    Quand j'ecris ca il me donne une erreur de compil et me dit : required : variable found : value

    Je voudrais en fait rentrer dans le string "resultat" 0 ou 1 pour chaque operation dans mon for et que ca me rende un string de la meme longueur que mes deux string s1 et s2


    Jespere etre assez clair

    Merci d'avance!


    Cordialement

    Tirvax

  2. #2
    Membre émérite
    Avatar de Cafeinoman
    Homme Profil pro
    Couteau suisse d'une PME
    Inscrit en
    Octobre 2012
    Messages
    628
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Couteau suisse d'une PME

    Informations forums :
    Inscription : Octobre 2012
    Messages : 628
    Par défaut
    À mon avis, le soucis vient de charAt(i), qui te retourne une valeur et non une variable. Tu ne peux donc pas effectuer d'affectation. Tu devrait plutôt utiliser un tableau de char pour stocker le résultat. Tu peux toujours le repasser dans une String après...

  3. #3
    Membre éprouvé Avatar de Satch
    Homme Profil pro
    Hypnothérapeute - Magicien
    Inscrit en
    Mars 2004
    Messages
    498
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Suisse

    Informations professionnelles :
    Activité : Hypnothérapeute - Magicien

    Informations forums :
    Inscription : Mars 2004
    Messages : 498
    Par défaut
    Le méthode charAt(int) ne sert pas à changer un caractère d'une String, mais à connaître le caractère à une position donnée. Les méthodes en Java ne servent pas à la fois à connaître une propriété (comme quand tu fais (if (s1.charAt(i) == 1)) et la modifier (comme quand tu fais resultat.charAt(i) = '1'

    ici, encore une fois, la méthode charat te permet de lire une "propriété" et non de la modifier.

    Ceci étant dit, pour ajouter un caractère à une String, tu peux simplement faire

    ou, si ça te paraît plus lisible :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    taString = taString+leCaractere;
    Maintenant, en regardant ton code, quelques remarques :
    Ce code ne fait strictement rien !! Tu as ici une boucle infinie ! i vaudra toujours 0.
    Sans rentrer dans les détail, un simple i++ suffit.


    ici, attention. Tu testes la valeur d'un char avec un entier. Tu veux probablement plutôt faire qqch comme s1.charAt(i) == '1'.
    Le caractère '1', vaut 49 en entier, comme peut te le montrer un ptit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    char c = '1';
    System.out.println((int)c);
    donc ton s1.charAt(i) == 1 sera toujours faux si ta string de départ ne contient que des '0' et des '1'



    Voilà. Je ne sais pas si j'ai été tout à fait clair et espère avoir pu t'aider.

Discussions similaires

  1. Problème avec les strings
    Par Menudelux dans le forum Débuter
    Réponses: 7
    Dernier message: 05/11/2012, 23h54
  2. problème avec les string
    Par meryDev dans le forum Débuter avec Java
    Réponses: 11
    Dernier message: 04/01/2011, 22h11
  3. un petit probléme avec les String.
    Par Syklops dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 07/04/2009, 12h12
  4. Sale problème avec les strings et les fichiers
    Par acieroid dans le forum C++
    Réponses: 18
    Dernier message: 26/04/2006, 09h47

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