Question de décomposition des mots [Résolu]

wamdeus 46 Messages postés mercredi 2 janvier 2008Date d'inscription 4 décembre 2008 Dernière intervention - 22 avril 2008 à 16:35 - Dernière réponse : wamdeus 46 Messages postés mercredi 2 janvier 2008Date d'inscription 4 décembre 2008 Dernière intervention
- 25 avril 2008 à 16:56
Bonjour tout le monde,
Bon comme d'hab j'ai un petit problème et je sais pas comment faire ;)
c'est très simple j'aimerai :
                                      -décomposer un mot lettre par lettre pour pouvoir remettre ces lettres dans un jeu de mots mêlés ( J'ai penser utiliser un length() mais je vois pas comment ca marche; de plus lorsque je souhaite appeler cette méthode avec un mot quelconque, il me dit que ma methode n'est pas définit dans ma classe Mots ...
                                        -savoir comment on fait pour définir cette méthode (j'ai rien trouver chez Sun...)

la seul chose qui arrive a la cheville de chuck norris ce sont ces chaussettes!!!
Chuck Norris est né 1940ans après J-C !!
Afficher la suite 

Votre réponse

11 réponses

Meilleure réponse
wamdeus 46 Messages postés mercredi 2 janvier 2008Date d'inscription 4 décembre 2008 Dernière intervention - 25 avril 2008 à 16:56
3
Merci
En fait mon but est decrer un mot mêlé de 8 par 8; je vais donc créer une matrice qui va s'implémenter avec mes fonctions d'alignement par exemple :

public void Verti8_0(String word){
for (int i=0;i<8;i++){
grille.getMatrice()[0][i]=word.charAt(i);
}
}
comme ca, mon mot sera aligné; et lorque que je voudrais qu'un mot le coupe je ferai une série de test du style
for (int i=0;i<8;i++){
if (matrice[0][i] !=word.charAt(i){
system.out.print(on peut pas on change d'emplacement);
randomSelection();
else if(matrice[0][i]=word.charAt(i){
on passe a la lettre d'après
}
else(matrice[0][i]=''){

    grille.getMatrice()[0][i]=word.CharAt(i);
i++
}
}

qu'est ce que vous en penser ?.?.?
la seul chose qui arrive a la cheville de chuck norris ce sont ces chaussettes!!!

Merci wamdeus 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 125 internautes ce mois-ci

Commenter la réponse de wamdeus
Ombitious_Developper 2333 Messages postés samedi 28 février 2004Date d'inscription 26 juillet 2013 Dernière intervention - 22 avril 2008 à 16:42
0
Merci
Salut:

String word = "Il fait beau";

1.
for (char c : word) {
}

2.
for (int i = 0; i < word.length(); ++i) {
    char c = word.charAt(i);
}

3.
char[] array = word.toCharArray();
// ...
Commenter la réponse de Ombitious_Developper
Twinuts 5266 Messages postés dimanche 4 mai 2003Date d'inscription 19 juin 2018 Dernière intervention - 22 avril 2008 à 16:50
0
Merci
+1 pour [auteur/OMBITIOUSDEVELOPPER/237842.aspx Ombitious_Developper]

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
Commenter la réponse de Twinuts
wamdeus 46 Messages postés mercredi 2 janvier 2008Date d'inscription 4 décembre 2008 Dernière intervention - 22 avril 2008 à 16:55
0
Merci
Merci d'avoir répondu si vite!
Désolé d'être un peu limité, mais là je comprend rien a ce que tu m'a marqué,
a quoi sert ton                      "for (char c : word) {}"

Et puis je voulais savoir aussi je mets tout dans la ma classe mot .??

la seul chose qui arrive a la cheville de chuck norris ce sont ces chaussettes!!!
Commenter la réponse de wamdeus
Twinuts 5266 Messages postés dimanche 4 mai 2003Date d'inscription 19 juin 2018 Dernière intervention - 22 avril 2008 à 17:07
0
Merci
Salut,

le for (char c : word) {} est un for each il se comporte plus ou moins comme un 'for' classique, sauf que tu n'as pas d'index et que tu ne peux pas modifier la list en cour de route sans te taper une exception...

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
Commenter la réponse de Twinuts
lafolle24320 406 Messages postés samedi 26 mars 2005Date d'inscription 29 juin 2009 Dernière intervention - 22 avril 2008 à 17:08
0
Merci
le for(char c : word) est un itérateur simplifié , merci 1.6 ou 1.5 je sais plus.
En fait çà permet de parcourir ton mot caractère par caractère

lafolle
Commenter la réponse de lafolle24320
wamdeus 46 Messages postés mercredi 2 janvier 2008Date d'inscription 4 décembre 2008 Dernière intervention - 24 avril 2008 à 17:15
0
Merci
C'et normal si ca marche pas .?? bon je vais vous donner mon code pour que vous essayez de répondre ; de mon côté je vais tester tout ce qui est possible; a oui et je comprends toujours pas ce que va faire le "" for (char c : word) {} "" dans mon code  (d'ailleur je l'ai pas mis dans mon code)!
Voici mon code ::

import java.io.Serializable;
public class Mots implements Serializable{

    private static final long serialVersionUID = 1L;

protected String word;
protected char[]array=word.toCharArray();
    public Mots(String word){
        this.word=word;
    }
    public Decompose(String word){  // ici j'ai une érreur :Return type for the method is missing

    for (int i = 0; i < word.length(); i++) {
        char c = word.charAt(i); 
    }
    }
}
Merci de me filer un coup de main pour moi
la seul chose qui arrive a la cheville de chuck norris ce sont ces chaussettes!!!
Commenter la réponse de wamdeus
Ombitious_Developper 2333 Messages postés samedi 28 février 2004Date d'inscription 26 juillet 2013 Dernière intervention - 24 avril 2008 à 17:28
0
Merci
Salut:

Les seules méthodes dans une classe qui n'admettent pas de type de retour sont les constructeur.

import java.io.Serializable;
public class Mots implements Serializable{

    private static final long serialVersionUID = 1L;

protected String word;
protected char[]array=word.toCharArray();
    public Mots(String word){
        this.word=word;
    }
    public void Decompose(String word){  // ici j'ai une érreur :Return type for the method is missing

    for (int i = 0; i < word.length(); i++) {
        char c = word.charAt(i); 
    }
    }
}
Commenter la réponse de Ombitious_Developper
Ombitious_Developper 2333 Messages postés samedi 28 février 2004Date d'inscription 26 juillet 2013 Dernière intervention - 24 avril 2008 à 17:30
0
Merci
Salut:

Il vaut mieux suivre les régles de nommages en Java.

Le nom d'une méthode doit commencer par une miniscule.
Commenter la réponse de Ombitious_Developper
wamdeus 46 Messages postés mercredi 2 janvier 2008Date d'inscription 4 décembre 2008 Dernière intervention - 24 avril 2008 à 17:58
0
Merci
Merci bien pour cette réponse constructive qui m'aide à "apprendre" à programmer ( j'ai beau être en 2eme année de licence informatique, je ne sais toujours pas programmer  ... Normal on apprend  pas à programmer !!
bon certes normalement ca marche pour mon truc j'aurai surement encore besoin de votre aide si précieuse
d'ailleur une autre question me tarraude !!
je décompose mon mot pouir pouvoir récuperer ces lettres pour les mettre dans une grille; pour cela j'utilise une matrice ; est ce que je peux faire ca .??
CODE //
// class alignement{
alignement(){
//..
}
    public void Hori8_0(String word){
        for (int i=0;i<8;i++){
        grille.getMatrice()[0][i] = word.charAt(i);
        }
    }
}

la seul chose qui arrive a la cheville de chuck norris ce sont ces chaussettes!!!
Commenter la réponse de wamdeus
Ombitious_Developper 2333 Messages postés samedi 28 février 2004Date d'inscription 26 juillet 2013 Dernière intervention - 24 avril 2008 à 19:40
0
Merci
Salut:

C'est possible d'utiliser une telle expression. Mais comme tu l'avais deviner ce n'est pas agréable et commode à utiliser une telle expression.

Il vaut mieux écrire les méthodes nécessaires pour accèder aux éléments d'une matrice.

Au lieu de faire grille.getMatrice()[0][i] = ...;

Tu auras ajouter une méthode plus simpliste qui joue le même rôle:

public class Grille {
    // Modifier un élément de la matrice
    public void setElementAt(int i, int j, int value) {
       matrice[i][j] = value;
    }

    // Accèder à un élément de la matrice
    public int getElementAt(int i, int j) {

       return matrice[i][j];

    }

    // ...
}

On peut remplacer ton expression par:

grille.setElementAt(0, i, word.charAt(i));
Commenter la réponse de Ombitious_Developper

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.