
Sources JavaConsultez toutes les sources
Nombre d'auteurs : 29, nombre de sources : 134, création le 13 avril 2013
Sommaire→Nombres, dates et chaînes de caractèresMéthode permettant de transformer une Stack Trace en String
public static String getStackTrace( Throwable aThrowable ) {
Writer result = new StringWriter();
PrintWriter printWriter = new PrintWriter( result );
aThrowable.printStackTrace( printWriter );
return result.toString();
}
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.
public static double Exp(double lambda) {
Random rand = new Random();
return - (1 / lambda) * log( 1 - rand.nextDouble() );
}
Une Helper class pour les DATEs lorsqu'on veut faire des opérations sur les jours ouvrables (ajout, suppression, difference)
Classe utilitaire pour le formatage, les manipulations de String. Cette classe permet même le formatage de requêtes SQL
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.
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 :
String chaine = "Accés à la base";
String chaine2 = StringOperation.sansAccent(chaine);
System.out.println("chaine origine : " + chaine );
System.out.println("chaine sans accents : " + chaine2 );
Cette classe permet d'afficher toutes les polices disponibles sur la plateforme.
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]);
}
}
}
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".
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.



