Il est courant dans les cours de programmation d’avoir un exercice où l’on demande de permuter deux variables. Bien souvent, on utilise une variable intermédiaire. Mais il est tout à fait possible de s’en passer. Si cela présente peu d’intérêt niveau optimisation, en voici la démonstration en guise de challenge.
Archives pour la catégorie Code
Utiliser un switch pour des cotes de test
Un étudiant a demandé s’il était possible d’utiliser un switch pour afficher une cote ou un message d’appréciation. A priori, le switch se limite à évaluer des valeurs seules et non des intervals. Mais c’est chose possible avec l’approche suivante.
Les inner class (question de certification OCJP)
Si vous avez contemplé passer la certification OCJP (anciennement SCJP) vous avez certainement rencontré des questions test qui vous ont fait réflêchir. Un exemple est le code ci-dessous dont on demande la sortie.
class MyClass
{
public static void main (String[] args)
{
String s = "whizlab";
System.out.println(s);
}
public class String
{
public String(String s)
{
System.out.println("simulator");
}
}
}What is the output?
A. whizlab simulator
B. whizlab
C. Compilation error
D. None of the above
Limitation du nombre d’instances d’une classe
Dans un groupe Java sur Facebook une personne a demandé comment s’y prendre pour limiter le nombre d’instances d’une classe donnée. On pourrait imaginer que cela serve dans des cas de figures où on a besoin d’un nombre limité de « jetons », par exemple dans un environnement client-serveur.
A titre d’exercice je me suis amusé à programmer une solution. Sans nécessairement être parfaite, elle démontre comment traduire cette contrainte.
Quand une variable n’est pas égale à elle-même
Est-il possible de faire en sorte que « pas égal » soit imprimé dans la console sans modifier la structure suivante ?
System.out.println("égal");
}
else
{
System.out.println("pas égal");
}
Extraire les données de tables HTML avec XPath
Récemment j’avais la tâche d’extraire des données à partir de pages sans doute encodées sous Excel et sauvegardées sous forme de tableaux HTML. Comme il y avait environ 800 fichiers à traiter une solution programmatique s’imposait.
Un Filefilter reprenant plusieurs extensions de fichier
Avec le JFileChooser de Swing il est possible d’ajouter des FileFilter pour filtrer la liste de fichiers affichés.
Cet article va décrire un FileFilter personalisé capable de filtrer selon plusieurs extensions de fichiers. Cela peut être utile si un format de fichier peut avoir plusieurs extensions ou si on souhaite regrouper plusieurs extensions sous un même nom (ex: images, sons, archives ).
Créer des instances à travers un enum
Le plus souvent un enum sert à reprendre une liste de constantes que l’on peut notamment utiliser de manière sémantique lors du passage de paramètres (ex: Color.white). Mais en Java il existe d’autres possibilités dont une manière pratique pour créer des instances que je vais décrire dans cet article.
Corriger les données directement dans les tables à travers des requêtes
Il arrive parfois que des données insérées en CSV ou venant d’un tableur comportent quelques petites erreurs de format.
Pour ce faire je vous propose deux fonctions.
Petite astuce pour récuperer la ville d’origine avec l’API Facebook
Voici une petite astuce pour récupérer la ville d’origine d’une personne à travers l’API graph de Facebook dont la structure est la suivante:
(
[id] => 12345678....
[name] => Mons, Hainaut, Belgium
)