Question de décomposition des mots

Résolu
wamdeus Messages postés 46 Date d'inscription mercredi 2 janvier 2008 Statut Membre Dernière intervention 4 décembre 2008 - 22 avril 2008 à 16:35
wamdeus Messages postés 46 Date d'inscription mercredi 2 janvier 2008 Statut Membre Dernière intervention 4 décembre 2008 - 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 !!

11 réponses

wamdeus Messages postés 46 Date d'inscription mercredi 2 janvier 2008 Statut Membre Dernière intervention 4 décembre 2008
25 avril 2008 à 16:56
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!!!
3
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
22 avril 2008 à 16:42
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();
// ...
0
Twinuts Messages postés 5373 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 10 août 2022 111
22 avril 2008 à 16:50
+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
0
wamdeus Messages postés 46 Date d'inscription mercredi 2 janvier 2008 Statut Membre Dernière intervention 4 décembre 2008
22 avril 2008 à 16:55
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!!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Twinuts Messages postés 5373 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 10 août 2022 111
22 avril 2008 à 17:07
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
0
lafolle24320 Messages postés 406 Date d'inscription samedi 26 mars 2005 Statut Membre Dernière intervention 29 juin 2009 7
22 avril 2008 à 17:08
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
0
wamdeus Messages postés 46 Date d'inscription mercredi 2 janvier 2008 Statut Membre Dernière intervention 4 décembre 2008
24 avril 2008 à 17:15
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!!!
0
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
24 avril 2008 à 17:28
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); 
    }
    }
}
0
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
24 avril 2008 à 17:30
Salut:

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

Le nom d'une méthode doit commencer par une miniscule.
0
wamdeus Messages postés 46 Date d'inscription mercredi 2 janvier 2008 Statut Membre Dernière intervention 4 décembre 2008
24 avril 2008 à 17:58
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!!!
0
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
24 avril 2008 à 19:40
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));
0