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

Sources JavaConsultez toutes les sources

Nombre d'auteurs : 29, nombre de sources : 134, création le 13 avril 2013 

 
OuvrirSommaireNombres, dates et chaînes de caractères

Méthode permettant de transformer une Stack Trace en String

 
Sélectionnez
public static String getStackTrace( Throwable aThrowable ) { 
    Writer result = new StringWriter(); 
    PrintWriter printWriter = new PrintWriter( result ); 
    aThrowable.printStackTrace( printWriter ); 
    return result.toString(); 
  }
Créé le 6 août 2004  par dtateur

L’algorithme suivant permet de générer une variable aléatoire suivant une loi de Poisson ayant une distribution exponentielle de paramètre lambda.

 
Sélectionnez
public static double Exp(double lambda) { 
Random rand = new Random(); 
return - (1 / lambda) * log( 1 - rand.nextDouble() ); 
}
Créé le 6 août 2004  par cyberzoide

Une Helper class pour les DATEs lorsqu'on veut faire des opérations sur les jours ouvrables (ajout, suppression, difference)

Créé le 6 août 2004  par divxdede

Téléchargez le zip

Classe utilitaire pour le formatage, les manipulations de String. Cette classe permet même le formatage de requêtes SQL

Créé le 24 août 2004 

Téléchargez le zip

Avantage :

  • Conserve la casse Majuscule / Minuscule
  • Transforme certains caractères spéciaux tel que ÷ en /
  • Gére le bi-caractères tels que Æ en AE
  • La transformation est efficace en determinant si le caractère est considéré avec accent ou non.

Inconvenient :

  • la taille de la chaine résultat peut ne pas faire la même taille que la source. nottament a cause de Æ et æ
  • Certains caractères spéciaux sont transformé même si ce n'etait pas voulu.
 
Sélectionnez

package xxxx;
import java.util.*;

/** Classe complementaire du J2SDK sur la manipulation de chaines de caractéres
 *  Permet nottament de supprimer les accents d'une chaine de caractères
 **/
 public abstract class StringOperation
 {

     /** Index du 1er caractere accentué **/
     private static final int MIN = 192;
     /** Index du dernier caractere accentué **/
     private static final int MAX = 255;
     /** Vecteur de correspondance entre accent / sans accent **/
     private static final Vector map = initMap();
     
     /** Initialisation du tableau de correspondance entre les caractéres accentués
        * et leur homologues non accentués 
        */
     private static Vector initMap()
     {  Vector Result         = new Vector();
        java.lang.String car  = null;
       
        car = new java.lang.String("A");
        Result.add( car );            /* '\u00C0'   À   alt-0192  */ 
        Result.add( car );            /* '\u00C1'   Á   alt-0193  */
        Result.add( car );            /* '\u00C2'   Â   alt-0194  */
        Result.add( car );            /* '\u00C3'   Ã   alt-0195  */
        Result.add( car );            /* '\u00C4'   Ä   alt-0196  */
        Result.add( car );            /* '\u00C5'   Å   alt-0197  */
        car = new java.lang.String("AE");
        Result.add( car );            /* '\u00C6'   Æ   alt-0198  */
        car = new java.lang.String("C");
        Result.add( car );            /* '\u00C7'   Ç   alt-0199  */
        car = new java.lang.String("E");
        Result.add( car );            /* '\u00C8'   È   alt-0200  */
        Result.add( car );            /* '\u00C9'   É   alt-0201  */
        Result.add( car );            /* '\u00CA'   Ê   alt-0202  */
        Result.add( car );            /* '\u00CB'   Ë   alt-0203  */
        car = new java.lang.String("I");
        Result.add( car );            /* '\u00CC'   Ì   alt-0204  */
        Result.add( car );            /* '\u00CD'   Í   alt-0205  */
        Result.add( car );            /* '\u00CE'   Î   alt-0206  */
        Result.add( car );            /* '\u00CF'   Ï   alt-0207  */
        car = new java.lang.String("D");
        Result.add( car );            /* '\u00D0'   Ð   alt-0208  */
        car = new java.lang.String("N");
        Result.add( car );            /* '\u00D1'   Ñ   alt-0209  */
        car = new java.lang.String("O");
        Result.add( car );            /* '\u00D2'   Ò   alt-0210  */
        Result.add( car );            /* '\u00D3'   Ó   alt-0211  */
        Result.add( car );            /* '\u00D4'   Ô   alt-0212  */
        Result.add( car );            /* '\u00D5'   Õ   alt-0213  */
        Result.add( car );            /* '\u00D6'   Ö   alt-0214  */
        car = new java.lang.String("*");
        Result.add( car );            /* '\u00D7'   ×   alt-0215  */
        car = new java.lang.String("0");
        Result.add( car );            /* '\u00D8'   Ø   alt-0216  */
        car = new java.lang.String("U");
        Result.add( car );            /* '\u00D9'   Ù   alt-0217  */
        Result.add( car );            /* '\u00DA'   Ú   alt-0218  */
        Result.add( car );            /* '\u00DB'   Û   alt-0219  */
        Result.add( car );            /* '\u00DC'   Ü   alt-0220  */
        car = new java.lang.String("Y");
        Result.add( car );            /* '\u00DD'   Ý   alt-0221  */
        car = new java.lang.String("Þ");
        Result.add( car );            /* '\u00DE'   Þ   alt-0222  */
        car = new java.lang.String("B");
        Result.add( car );            /* '\u00DF'   ß   alt-0223  */
        car = new java.lang.String("a");
        Result.add( car );            /* '\u00E0'   à   alt-0224  */
        Result.add( car );            /* '\u00E1'   á   alt-0225  */
        Result.add( car );            /* '\u00E2'   â   alt-0226  */
        Result.add( car );            /* '\u00E3'   ã   alt-0227  */
        Result.add( car );            /* '\u00E4'   ä   alt-0228  */
        Result.add( car );            /* '\u00E5'   å   alt-0229  */
        car = new java.lang.String("ae");
        Result.add( car );            /* '\u00E6'   æ   alt-0230  */
        car = new java.lang.String("c");
        Result.add( car );            /* '\u00E7'   ç   alt-0231  */
        car = new java.lang.String("e");
        Result.add( car );            /* '\u00E8'   è   alt-0232  */
        Result.add( car );            /* '\u00E9'   é   alt-0233  */
        Result.add( car );            /* '\u00EA'   ê   alt-0234  */
        Result.add( car );            /* '\u00EB'   ë   alt-0235  */
        car = new java.lang.String("i");
        Result.add( car );            /* '\u00EC'   ì   alt-0236  */
        Result.add( car );            /* '\u00ED'   í   alt-0237  */
        Result.add( car );            /* '\u00EE'   î   alt-0238  */
        Result.add( car );            /* '\u00EF'   ï   alt-0239  */
        car = new java.lang.String("d");
        Result.add( car );            /* '\u00F0'   ð   alt-0240  */
        car = new java.lang.String("n");
        Result.add( car );            /* '\u00F1'   ñ   alt-0241  */
        car = new java.lang.String("o");
        Result.add( car );            /* '\u00F2'   ò   alt-0242  */
        Result.add( car );            /* '\u00F3'   ó   alt-0243  */
        Result.add( car );            /* '\u00F4'   ô   alt-0244  */
        Result.add( car );            /* '\u00F5'   õ   alt-0245  */
        Result.add( car );            /* '\u00F6'   ö   alt-0246  */
        car = new java.lang.String("/");
        Result.add( car );            /* '\u00F7'   ÷   alt-0247  */
        car = new java.lang.String("0");
        Result.add( car );            /* '\u00F8'   ø   alt-0248  */
        car = new java.lang.String("u");
        Result.add( car );            /* '\u00F9'   ù   alt-0249  */
        Result.add( car );            /* '\u00FA'   ú   alt-0250  */
        Result.add( car );            /* '\u00FB'   û   alt-0251  */
        Result.add( car );            /* '\u00FC'   ü   alt-0252  */
        car = new java.lang.String("y");
        Result.add( car );            /* '\u00FD'   ý   alt-0253  */
        car = new java.lang.String("þ");
        Result.add( car );            /* '\u00FE'   þ   alt-0254  */
        car = new java.lang.String("y");
        Result.add( car );            /* '\u00FF'   ÿ   alt-0255  */
        Result.add( car );            /* '\u00FF'       alt-0255  */
       
        return Result;
     }
 
     /** Transforme une chaine pouvant contenir des accents dans une version sans accent
      *  @param chaine Chaine a convertir sans accent
      *  @return Chaine dont les accents ont été supprimé
      **/
     public static java.lang.String sansAccent(java.lang.String chaine)
     {  java.lang.StringBuffer Result  = new StringBuffer(chaine);
       
        for(int bcl = 0 ; bcl < Result.length() ; bcl++)
        {   int carVal = chaine.charAt(bcl);
            if( carVal >= MIN && carVal <= MAX )
            {  // Remplacement
               java.lang.String newVal = (java.lang.String)map.get( carVal - MIN );
               Result.replace(bcl, bcl+1,newVal);
            }   
        }
        return Result.toString();
    }
}

L'utilisation est simple :

 
Sélectionnez

String chaine   = "Accés à la base";
String chaine2 = StringOperation.sansAccent(chaine);
System.out.println("chaine origine          : " + chaine );
System.out.println("chaine sans accents : " + chaine2 ); 
Créé le 15 janvier 2005  par divxdede

Cette classe permet d'afficher toutes les polices disponibles sur la plateforme.

 
Sélectionnez

import java.awt.*;

public class Polices {
  public static void main(String[] args) {
    String font[] = GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames();
    for (int i = 0; i < font.length; i++) {
      System.out.println(font[i]);
    }
  }
}
Créé le 15 février 2005  par Michel Deriaz

Lancez le programme puis faites un glisser-déposer des fichiers dont vous désirez remplacer les lettres accentuées par leur équivalent html. Le fichier original est sauvegardé dans un sous-dossier "BAK".

Créé le 15 février 2005  par Michel Deriaz

Téléchargez le zip

Classifieur Naive Bayes doublement incrémental, pour des données continues. Cet algorithme est une amélioration du Naïve Bayes original. Il est incrémental dans le sens qu'il est possible d'ajouter des instances à un apprentissage existant. Il n'est ainsi plus indispensable de séparer hermétiquement la phase d'apprentissage de la phase de test. En utilisant les fonctions d'enregistrement et récupération des tables, il devient ainsi possible de répartir un apprentissage en plusieurs sessions. Il est également incrémental dans le sens qu'il est possible d'ajouter, en cours d'apprentissage, des nouvelles classes cibles. C'est donc pour ces deux raisons que le classifieur est dit doublement incrémental.

Créé le 15 février 2005  par Michel Deriaz

Téléchargez le zip

Tous les codes sources fournis gratuitement ici sont soumis à la licence GNU LGPL traduite en français ici. Par contre, la page de présentation constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright © 2004-2005 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD.