[Aide] Langage Java - Programmation  [Aide] Langage Java - Programmation

Tout sur le hardware et le software
Share this topic:    Facebook Share this topic on Facebook Twitter Share this topic on Twitter MySpace Share this topic on MySpace Del.icio.us Share this topic on Del.icio.us   

[Aide] Langage Java - Programmation

Postby fr leop93 » 15 Dec 2011, 20:01
» Firefox 8.0.1 Firefox 8.0.1  Windows Seven Windows Seven  Screen Resolution: 1920 x 1080 1920 x 1080

Bonsoir


Je vous poste donc mon problème ici, dans le programme que je suis en train de codé (en réalité nous avec mon binôme) je suis bloqué sur un une erreur provenant de l'exécution de mon programme.

Le but de ma classe est le suivant:

Classe Dictionnaire
cette méthode utilise la notion de tableau.
Dans cette classe, pour accéder aux mots contenus dans le dictionnaire, voici les instructions à
utiliser :
size() // obtenir le nombre de mots du dictionnaire
getMot(i) // obtenir le ième mot
getCode(i) // obtenir le code du ième mot


L'erreur est la suivante:

Exception in thread "AWT-EventQueue-0" java.lang.StringIndexOutOfBoundsException: String index out of range: -1
       at java.lang.String.substring(String.java:1958)
       at outils.Phonex.code(Phonex.java:31)
       at outils.Dictionnaire.<init>(Dictionnaire.java:25)
       at correcteurorthographique.FenetrePrincipale$btnChargerActionListener.actionPerformed(FenetrePrincipale.java:91)
       at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
       at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
       at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
       [...] j'ai supprimé sinon je dépassais les caractères limites dans un seul message


Le code qui émet cette erreur sera sur le deuxième post, je ne peux pas le poster à la suite de ceci (trop de caractères).

Je ne vois pas d'où peut venir l'erreur. Je me suis rendu compte aussi que je ne me suis pas servi de getMot(i)...

Merci pour votre aide et bonne soirée

Leop93
leop93
fr leop93
Utilisateur
Utilisateur
 
Posts: 3
Joined: 15 Dec 11
Location: France
Cash on hand: 96.81
Country: fr
PageRank:
PageRank Actuel   PageRank

breizh-portal Sponsor

Publicité

Re: [Aide] Langage Java - Programmation

Postby fr leop93 » 15 Dec 2011, 20:35
» Firefox 8.0.1 Firefox 8.0.1  Windows Seven Windows Seven  Screen Resolution: 1920 x 1080 1920 x 1080

Code: Select all
// A FAIRE : méthode retournant un tableau contenant les n mots les plus proches du mot passé en paramètre
public String[] plusProches(String code, int n)
{
  
        int i, j, k=0, size=this.dico.size();
        i=j=-1;
        boolean out=false, valid=true;
        ArrayList<String> tabStr=new ArrayList<String>();
        String tmp1;
        String tmp2;
        
        if(n>size)
        {                
                return null; //erreur: taille dico trop petite
        }
        
        else if(n==size)
        {                
                while(++i<size) //même taille: retourne tout le dico sans param->code
                {
                        if(!this.dico.get(i).getCode().equals(code))
                        {
                                tabStr.add(this.dico.get(i).getCode());
                        }
                        
                }
                return (String[])tabStr.toArray();
        }
        else
        {                
                while(!out) //retourne n valeurs pour String
                {
                        while(++i<size)
                        {
                                j=i+1;
                                while(j<size)
                                {
                                        tmp1=this.dico.get(i).getCode();
                                        tmp2=this.dico.get(j).getCode();
                                        if(tabStr.size() >0)
                                        {
                                                for(k =0; k <tabStr.size(); k++)
                                                {
                                                        if(tmp1==tabStr.get(k) || tmp2==tabStr.get(k))
                                                        {
                                                                valid=false;
                                                        }
                                                }
                                        }
                                        if(Phonex.distance(tmp1, code)>=Phonex.distance(tmp2, code) && valid)
                                        {
                                                tabStr.add(tmp2);
                                        }
                                        else
                                        {
                                                tabStr.add(tmp1);
                                        }
                                        valid=true;
                                }
                        }
                        if(tabStr.size()>=n)
                        {
                                out=!out;
                        }
                }
                return (String[])tabStr.toArray();
        }
    }
leop93
fr leop93
Utilisateur
Utilisateur
 
Posts: 3
Joined: 15 Dec 11
Location: France
Cash on hand: 96.81
Country: fr
PageRank:
PageRank Actuel   PageRank

Re: [Aide] Langage Java - Programmation

Postby fr Sylver35 » 15 Dec 2011, 21:23
» Firefox 8.0 Firefox 8.0  Windows Seven 64 bits Windows Seven 64 bits  Screen Resolution: 1680 x 1050 1680 x 1050

Le problème est que tant que tu n'a pas compris la class produite (par un autre m'a tu dit) il te sera très difficile de comprendre la source de l'erreur ;)

Au départ, tu parle des fonctions getMot(i) et getCode(i) or tu ne t'en sert pas dans la class...

L'erreur retournée donne une indication de nombre en dehors d'une valeur attendue:
Code: Select all
String index out of range: -1

Certainement comme tu n'utilise pas les fonctions attendues, la valeur est vide et retourne -1 signe d'une valeur non présente (vide)
La vitesse de la lumière étant supérieure à la vitesse du son, bien des gens paraissent brillants jusqu'au moment où ils ouvrent la bouche
Image
Soutenez ce forum pour la continuité et le soutient des mods!

Breizh Shoutbox Ajax 1.5.0 || Breizh Ajax Checks v1.2.0 || mod browser, os & screen v1.0.0 || Mod Erreurs et Notices de débug v1.2.0
User avatar
fr Sylver35
Administrateur
Administrateur
 
First name: Philippe
Posts: 2045
Joined: 24 Aug 08
Location: Bretagne
Cash on hand: 18,157.06
Bank: 21,714.59
Country: fr
PageRank:
PageRank Actuel   PageRank

Re: [Aide] Langage Java - Programmation

Postby fr leop93 » 15 Dec 2011, 21:26
» Firefox 8.0.1 Firefox 8.0.1  Windows Seven Windows Seven  Screen Resolution: 1920 x 1080 1920 x 1080

Merci pour ta réponse.

C'est vrai que sans comprendre la classe produite je n'y arriverai pas.

S'il me reste un peu de temps demain, je regarderai avec mon binôme pour essayer d'insérer les classes manquantes.

De plus comme j'ai écrit sur le chat, on doit gérer des exceptions qu'on avait oublié dans la classe correction. Donc on va essayer de faire ça très proprement pour sauver quelques points.

Merci de ton aide, je repasse demain quoi qu'il arrive. ;)

Bonne soirée

Leop93
leop93
fr leop93
Utilisateur
Utilisateur
 
Posts: 3
Joined: 15 Dec 11
Location: France
Cash on hand: 96.81
Country: fr
PageRank:
PageRank Actuel   PageRank



 

  • Related topics
    Replies
    Views
    Last post

Return to Le coin informatique

Who is online

Users browsing this forum: No registered users and 0 guests

Login  •  Register


| Valid XHTML 1.0 Strict || breizh hosting || Made with Notepad++ || Contact || Wot || Term of use || Privacy policy || Rules |