Difference between revisions of "FR/Documentation/Base/Rapports/Fonctions"

From Apache OpenOffice Wiki
Jump to: navigation, search
m (ortho + source Java)
Line 12: Line 12:
 
|-
 
|-
 
| INT
 
| INT
| Cette fonction renvoit une valeur correspondant à l'entier inférieur le plus proche
+
| Cette fonction renvoie une valeur correspondant à l'entier inférieur le plus proche
 
|  
 
|  
 
|}
 
|}
Line 39: Line 39:
 
|-
 
|-
 
| ISERR
 
| ISERR
| Cette fonction vérifie si le paramètre est du type "Erreur", mais renvoit "Faux" si l'erreur est du type "NA".
+
| Cette fonction vérifie si le paramètre est du type "Erreur", mais renvoie "Faux" si l'erreur est du type "NA".
 
|  
 
|  
  
 
|-
 
|-
 
| ISERROR
 
| ISERROR
| Cette fonction vérifie si le paramètre est du type "Erreur" et renvoit "Faux".
+
| Cette fonction vérifie si le paramètre est du type "Erreur" et renvoie "Faux".
 
|  
 
|  
  
Line 89: Line 89:
 
|-
 
|-
 
| NA
 
| NA
| Cette fonction renvoit la constante d'erreur NA.
+
| Cette fonction renvoie la constante d'erreur NA.
 
|  
 
|  
 
|}
 
|}
Line 101: Line 101:
 
|-
 
|-
 
| DATE
 
| DATE
| Cette fonction renvoit le nombre de jours écoulé depuis le 01.01.1900
+
| Cette fonction renvoie le nombre de jours écoulé depuis le 01.01.1900
 
{| class="prettytable" cellpadding="10" border="1"
 
{| class="prettytable" cellpadding="10" border="1"
 
| '''''Nom du Paramètre'''''  
 
| '''''Nom du Paramètre'''''  
Line 118: Line 118:
 
|-
 
|-
 
| DATEDIF
 
| DATEDIF
| Cette fonction renvoit le nombre de jours entre une première date et une deuxième date.
+
| Cette fonction renvoie le nombre de jours entre une première date et une deuxième date.
 
{| class="prettytable" cellpadding="10" border="1"
 
{| class="prettytable" cellpadding="10" border="1"
 
| '''''Nom du Paramètre'''''  
 
| '''''Nom du Paramètre'''''  
Line 135: Line 135:
 
|-
 
|-
 
| DATEVALUE
 
| DATEVALUE
| Cette fonction renvoit un numéro de série correspondant à une date à partir d'un texte donné.
+
| Cette fonction renvoie un numéro de série correspondant à une date à partir d'un texte donné.
 
|  
 
|  
  
 
|-
 
|-
 
| DAY
 
| DAY
| Cette fonction renvoit le jour d'une date donnée
+
| Cette fonction renvoie le jour d'une date donnée
 
|  
 
|  
  
 
|-
 
|-
 
| HOUR
 
| HOUR
| Cette fonction renvoit l'heure (de 0 jusqu'à 23) à partir d'une heure donnée.
+
| Cette fonction renvoie l'heure (de 0 jusqu'à 23) à partir d'une heure donnée.
 
|  
 
|  
  
 
|-
 
|-
 
| MONTH
 
| MONTH
| Cette fonction renvoit le mois d'une date donnée
+
| Cette fonction renvoie le mois d'une date donnée
 
|  
 
|  
  
 
|-
 
|-
 
| NOW
 
| NOW
| Cette fonction renvoit l'heure actuelle
+
| Cette fonction renvoie la date et l'heure actuelle
 
|  
 
|  
  
 
|-
 
|-
 
| TIME
 
| TIME
| Cette fonction renvoit l'heure
+
| Cette fonction renvoie l'heure
 
{| class="prettytable" cellpadding="10" border="1"
 
{| class="prettytable" cellpadding="10" border="1"
 
| '''''Nom du Paramètre'''''  
 
| '''''Nom du Paramètre'''''  
Line 177: Line 177:
 
|-
 
|-
 
| TODAY
 
| TODAY
| Cette fonction renvoit la date actuelle
+
| Cette fonction renvoie la date actuelle
 
|  
 
|  
  
 
|-
 
|-
 
| WEEKDAY
 
| WEEKDAY
| Cette fonction renvoit le jour de la semaine à partir d'une date.
+
| Cette fonction renvoie le jour de la semaine à partir d'une date.
 
{| class="prettytable" cellpadding="10" border="1"
 
{| class="prettytable" cellpadding="10" border="1"
 
| '''''Nom du Paramètre'''''  
 
| '''''Nom du Paramètre'''''  
Line 196: Line 196:
 
|-
 
|-
 
| YEAR
 
| YEAR
| Cette fonction renvoit l'année à partir d'une date donnée
+
| Cette fonction renvoie l'année à partir d'une date donnée
 
|  
 
|  
 
|}
 
|}
Line 239: Line 239:
 
|-
 
|-
 
| LEFT
 
| LEFT
| Cette fonction renvoit une chaîne de caractères en partant du caractère numéro "n" vers la gauche, où "n" est la position du caractère à partir duquel s'applique la fonction.
+
| Cette fonction renvoie une chaîne de caractères en partant du caractère numéro "n" vers la gauche, où "n" est la position du caractère à partir duquel s'applique la fonction.
 
{| class="prettytable" cellpadding="10" border="1"
 
{| class="prettytable" cellpadding="10" border="1"
 
| '''''Nom du Paramètre'''''  
 
| '''''Nom du Paramètre'''''  
Line 246: Line 246:
 
|-
 
|-
 
| Length
 
| Length
| Cette fonction renvoit la longueur d'une chaîne de caractères.
+
| Cette fonction renvoie la longueur d'une chaîne de caractères.
 
|}
 
|}
  
Line 253: Line 253:
 
|-
 
|-
 
| LEN
 
| LEN
| Cette fonction renvoit la longueur de la chaîne de caractères qui lui est passée.
+
| Cette fonction renvoie la longueur de la chaîne de caractères qui lui est passée.
 
|  
 
|  
  
 
|-
 
|-
 
| LOWER
 
| LOWER
| Cette fonction renvoit la chaîne en minuscules.
+
| Cette fonction renvoie la chaîne en minuscules.
 
|  
 
|  
  
 
|-
 
|-
 
| MID
 
| MID
| Cette fonction renvoit une chaîne de caractère, à partir d'une chaîne initiale, de la position de départ, et de la longueur de la chaîne.
+
| Cette fonction renvoie une chaîne de caractère, à partir d'une chaîne initiale, de la position de départ, et de la longueur de la chaîne.
 
{| class="prettytable" cellpadding="10" border="1"
 
{| class="prettytable" cellpadding="10" border="1"
 
| '''''Nom du Paramètre'''''  
 
| '''''Nom du Paramètre'''''  
Line 300: Line 300:
 
|-
 
|-
 
| REPT
 
| REPT
| Cette fonction renvoit un texte répété par un nombre de fois défini par "Count".
+
| Cette fonction renvoie un texte répété un nombre de fois défini par "Count".
 
{| class="prettytable" cellpadding="10" border="1"
 
{| class="prettytable" cellpadding="10" border="1"
 
| '''''Nom du Paramètre'''''  
 
| '''''Nom du Paramètre'''''  
Line 314: Line 314:
 
|-
 
|-
 
| RIGHT
 
| RIGHT
| Cette fonction renvoit une chaîne de caractères en partant du caractère "Count" vers la droite, où "Count" est la position du caractère à partir duquel s'applique la fonction.
+
| Cette fonction renvoie une chaîne de caractères en partant du caractère "Count" vers la droite, où "Count" est la position du caractère à partir duquel s'applique la fonction.
 
{| class="prettytable" cellpadding="10" border="1"
 
{| class="prettytable" cellpadding="10" border="1"
 
| '''''Nom du Paramètre'''''  
 
| '''''Nom du Paramètre'''''  
Line 348: Line 348:
 
|-
 
|-
 
| T
 
| T
| Cette fonction renvoit la valeur du texte recherché ou bien une chaîne de longueur zéro pour des valeurs qui ne sont pas des chaînes de caractères de type "Texte".
+
| Cette fonction renvoie la valeur du texte recherché ou bien une chaîne de longueur zéro pour des valeurs qui ne sont pas des chaînes de caractères de type "Texte".
 
|  
 
|  
  
 
|-
 
|-
 
| TEXT
 
| TEXT
| Renvoit la valeur passée en tant que texte.
+
| Renvoie la valeur passée en tant que texte.
 
|  
 
|  
  
 
|-
 
|-
 
| TRIM
 
| TRIM
| Renvoit la chaîne de caractères passée en enlevant tous les espaces devant et après la chaîne. Des espaces multiples sont remplacés par une seule espace.
+
| Renvoie la chaîne de caractères passée en enlevant tous les espaces devant et après la chaîne. Des espaces multiples sont remplacés par une seule espace.
 
|  
 
|  
  
 
|-
 
|-
 
| UPPER
 
| UPPER
| Renvoit la chaîne de caractères passée en majuscules.
+
| Renvoie la chaîne de caractères passée en majuscules.
 
|  
 
|  
  
Line 389: Line 389:
 
|-
 
|-
 
| ABS
 
| ABS
| Renvoit la valeur absolue (non négative) de la valeur à laquelle est appliquée la fonction.
+
| Renvoie la valeur absolue (non négative) de la valeur à laquelle est appliquée la fonction.
 
|  
 
|  
  
 
|-
 
|-
 
| AVERAGE
 
| AVERAGE
| Renvoit la moyenne d'une liste de valeurs numériques.
+
| Renvoie la moyenne d'une liste de valeurs numériques.
 
|  
 
|  
  
 
|-
 
|-
 
| Even
 
| Even
| Renvoit une valeur arrondie au nombre entier pair supérieur.
+
| Renvoie une valeur arrondie au nombre entier pair supérieur.
 
|  
 
|  
  
 
|-
 
|-
 
| MAX
 
| MAX
| Renvoit la valeur maximale à partir d'un ensemble de valeurs.
+
| Renvoie la valeur maximale à partir d'un ensemble de valeurs.
 
|  
 
|  
  
 
|-
 
|-
 
| MIN
 
| MIN
| Renvoit la valeur minimale à partir d'un ensemble de valeurs.
+
| Renvoie la valeur minimale à partir d'un ensemble de valeurs.
 
|  
 
|  
  
 
|-
 
|-
 
| MOD
 
| MOD
| Renvoit le modulo lorsqu'un nombre est divisé par un autre.
+
| Renvoie le modulo lorsqu'un nombre est divisé par un autre.
 
{| class="prettytable" cellpadding="10" border="1"
 
{| class="prettytable" cellpadding="10" border="1"
 
| '''''Nom du Paramètre'''''  
 
| '''''Nom du Paramètre'''''  
Line 422: Line 422:
 
| Divisor
 
| Divisor
 
| Le diviseur.
 
| Le diviseur.
|-
 
|-
 
|-
 
|-
 
|-
 
|-
 
|-
 
|-
 
|-
 
|-
 
 
|}
 
|}
  
Line 438: Line 428:
 
|-
 
|-
 
| ODD
 
| ODD
| Renvoit une valeur arrondie au nombre entier impair supérieur.
+
| Renvoie une valeur arrondie au nombre entier impair supérieur.
 
|  
 
|  
  
Line 502: Line 492:
 
<br>
 
<br>
 
''Code nécessaire pour obtenir la fonction à partir du fichier jar libformula
 
''Code nécessaire pour obtenir la fonction à partir du fichier jar libformula
<code>[java]
+
<source lang="java">
 
import java.util.Locale;
 
import java.util.Locale;
 
import org.jfree.formula.DefaultFormulaContext;
 
import org.jfree.formula.DefaultFormulaContext;
Line 527: Line 517:
 
         FunctionRegistry func = obj.getFunctionRegistry();
 
         FunctionRegistry func = obj.getFunctionRegistry();
 
         FunctionCategory[] categories = func.getCategories();
 
         FunctionCategory[] categories = func.getCategories();
         for ( int i = 0 ; i < categories.length;++i)
+
         for (int i = 0 ; i < categories.length; ++i)
 
         {
 
         {
 
             String display = categories[i].getDisplayName(Locale.ENGLISH);
 
             String display = categories[i].getDisplayName(Locale.ENGLISH);
             System.out.println( "'''" + display +"'''<br>");
+
             System.out.println("'''" + display +"'''<br>");
             System.out.println( "{| class=\"prettytable\" cellpadding=\"10\" border=\"1\"");
+
             System.out.println("{| class=\"prettytable\" cellpadding=\"10\" border=\"1\"");
             System.out.println( "| '''''Function Name'''''");
+
             System.out.println("| '''''Function Name'''''");
             System.out.println( "| '''''Description''''' ");
+
             System.out.println("| '''''Description''''' ");
             System.out.println( "| '''''Example '''''");
+
             System.out.println("| '''''Example '''''");
 
              
 
              
 
             String[] functions = func.getFunctionNamesByCategory(categories[i]);
 
             String[] functions = func.getFunctionNamesByCategory(categories[i]);
             for(int j= 0; j < functions.length;++j)
+
             for(int j = 0; j < functions.length; ++j)
 
             {
 
             {
 
                 FunctionDescription desc = func.getMetaData(functions[j]);
 
                 FunctionDescription desc = func.getMetaData(functions[j]);
                 System.out.println( "");
+
                 System.out.println();
                 System.out.println( "|-");
+
                 System.out.println("|-");
 
                 System.out.println("| "+ desc.getDisplayName(Locale.ENGLISH));
 
                 System.out.println("| "+ desc.getDisplayName(Locale.ENGLISH));
 
                 System.out.println("| "+ desc.getDescription(Locale.ENGLISH));
 
                 System.out.println("| "+ desc.getDescription(Locale.ENGLISH));
 
                 int count = desc.getParameterCount();
 
                 int count = desc.getParameterCount();
                 if ( count > 1 ){
+
                 if (count > 1) {
                     System.out.println( "{| class=\"prettytable\" cellpadding=\"10\" border=\"1\"");
+
                     System.out.println("{| class=\"prettytable\" cellpadding=\"10\" border=\"1\"");
                     System.out.println( "| '''''Parameter Name''''' ");
+
                     System.out.println("| '''''Parameter Name''''' ");
                     System.out.println( "| '''''Parameter Description''''' ");
+
                     System.out.println("| '''''Parameter Description''''' ");
                     System.out.println( "");
+
                     System.out.println();
 
                 }
 
                 }
                 for(int k= 1;k < count;++k){
+
                 for(int k = 1; k < count; ++k) {
                     try{
+
                     try {
                         System.out.println( "|-");
+
                         System.out.println("|-");
                         System.out.println("| " + desc.getParameterDisplayName(k,Locale.ENGLISH) );
+
                         System.out.println("| " + desc.getParameterDisplayName(k, Locale.ENGLISH));
                         System.out.println("| " + desc.getParameterDescription(k,Locale.ENGLISH) );
+
                         System.out.println("| " + desc.getParameterDescription(k, Locale.ENGLISH));
                     } catch(Exception e){
+
                     } catch(Exception e) {
 
                     }
 
                     }
 
                 }
 
                 }
                 if ( count > 1 ){
+
                 if (count > 1) {
 
                     System.out.println("|}");
 
                     System.out.println("|}");
                     System.out.println("");
+
                     System.out.println();
 
                 }                     
 
                 }                     
               
+
 
 
                 System.out.println("| ");
 
                 System.out.println("| ");
 
             }
 
             }
Line 572: Line 562:
  
 
}
 
}
</code>
+
</source>
  
  
 
[[Category: Database]]
 
[[Category: Database]]
 
[[Category: Base Documentation]]
 
[[Category: Base Documentation]]

Revision as of 14:13, 10 July 2008


Le Sun Report Builder intègre les fonctions suivantes:


Arrondir

Nom de la Fonction Description Exemple
INT Cette fonction renvoie une valeur correspondant à l'entier inférieur le plus proche


Informations

Nom de la Fonction Description Exemple
CHOOSE Cette fonction utilise un indexe pour renvoyer une valeur à partir d'une liste de valeurs.
HASCHANGED Cette fonction vérifie si les colonnes spécifiées par le nom donné ont changé.
ISBLANK Cette fonction vérifie si la valeur est indéfinie (null).
ISERR Cette fonction vérifie si le paramètre est du type "Erreur", mais renvoie "Faux" si l'erreur est du type "NA".
ISERROR Cette fonction vérifie si le paramètre est du type "Erreur" et renvoie "Faux".
ISEVEN Cette fonction vérifie s'il s'agit d'une valeur qui est un nombre pair.
ISLOGICAL Cette fonction vérifie s'il s'agit d'une valeur de type "Logique".
ISNA Cette fonction vérifie s'il s'agit d'une erreur de type "NA".
ISNONTEXT Cette fonction vérifie s'il s'agit d'une valeur qui n'est pas du type "Texte".
ISNUMBER Cette fonction vérifie s'il s'agit d'une valeur qui n'est pas du type "Nombre".
ISODD Cette fonction vérifie s'il s'agit d'une valeur qui est un nombre impair.
ISREF Cette fonction vérifie s'il s'agit d'une valeur qui est une référence.
ISTEXT Cette fonction vérifie s'il s'agit d'une valeur est du type "Texte".
NA Cette fonction renvoie la constante d'erreur NA.


Date/Temps

Nom de la Fonction Description Exemple
DATE Cette fonction renvoie le nombre de jours écoulé depuis le 01.01.1900
Nom du Paramètre Description du Paramètre
Month Mois
Day Jour
DATEDIF Cette fonction renvoie le nombre de jours entre une première date et une deuxième date.
Nom du Paramètre Description du Paramètre
Date2 Deuxième date.
Format Code de Formatage.
DATEVALUE Cette fonction renvoie un numéro de série correspondant à une date à partir d'un texte donné.
DAY Cette fonction renvoie le jour d'une date donnée
HOUR Cette fonction renvoie l'heure (de 0 jusqu'à 23) à partir d'une heure donnée.
MONTH Cette fonction renvoie le mois d'une date donnée
NOW Cette fonction renvoie la date et l'heure actuelle
TIME Cette fonction renvoie l'heure
Nom du Paramètre Description du Paramètre
Minute. Minutes
Second Secondes
TODAY Cette fonction renvoie la date actuelle
WEEKDAY Cette fonction renvoie le jour de la semaine à partir d'une date.
Nom du Paramètre Description du Paramètre
Type Cette fonction définit le type de résultat (de 1 à 3)
YEAR Cette fonction renvoie l'année à partir d'une date donnée


Text

Nom de la Fonction Description Exemple
EXACT Cette fonction indique si deux valeurs de texte sont identiques en effectuant une comparaison sensible à la casse.
Nom du Paramètre Description du Paramètre
Text2 Le deuxième texte.
FIND Returns the starting position of a given text.
Nom du Paramètre Description du Paramètre
Text Le texte d'origine.
Index L'indexe de départ.
LEFT Cette fonction renvoie une chaîne de caractères en partant du caractère numéro "n" vers la gauche, où "n" est la position du caractère à partir duquel s'applique la fonction.
Nom du Paramètre Description du Paramètre
Length Cette fonction renvoie la longueur d'une chaîne de caractères.
LEN Cette fonction renvoie la longueur de la chaîne de caractères qui lui est passée.
LOWER Cette fonction renvoie la chaîne en minuscules.
MID Cette fonction renvoie une chaîne de caractère, à partir d'une chaîne initiale, de la position de départ, et de la longueur de la chaîne.
Nom du Paramètre Description du Paramètre
Start L'indexe de départ.
Length La longueur de la chaîne.
REPLACE Remplace une chaîne de caractères d'origine par une autre chaîne passé en paramètre, et dans l'indexe de départ et la fourchette de longueur.
Nom du Paramètre Description du Paramètre
Start L'indexe de départ.
Len La longueur.
New La nouvelle chaîne à insérer.
REPT Cette fonction renvoie un texte répété un nombre de fois défini par "Count".
Nom du Paramètre Description du Paramètre
Count Le nombre de fois à répéter le texte.
RIGHT Cette fonction renvoie une chaîne de caractères en partant du caractère "Count" vers la droite, où "Count" est la position du caractère à partir duquel s'applique la fonction.
Nom du Paramètre Description du Paramètre
Count Le numéro de la position du caractère de départ.
SUBSTITUTE Remplace une chaîne de texte par une nouvelle chaîne. Par défaut chaque fois que la chaîne est rencontrée, elle sera remplacée par la nouvelle chaîne. Autrement, on peut préciser le nombre de remplacements par le paramètre "Which".
Nom du Paramètre Description du Paramètre
Old La chaîne de caractères à remplacer.
New La chaîne de caractères à insérer.
Which Le nombre de fois que la chaîne à remplacer doit être recherchée.
T Cette fonction renvoie la valeur du texte recherché ou bien une chaîne de longueur zéro pour des valeurs qui ne sont pas des chaînes de caractères de type "Texte".
TEXT Renvoie la valeur passée en tant que texte.
TRIM Renvoie la chaîne de caractères passée en enlevant tous les espaces devant et après la chaîne. Des espaces multiples sont remplacés par une seule espace.
UPPER Renvoie la chaîne de caractères passée en majuscules.
URLENCODE Applique l'encodage URL à une chaîne de caractères passée en premier paramètre en utilisant l'encodage indiqué en deuxième paramètre. Si aucun encodage n'est précisé, ISO-8859-1 est appliqué.
Nom du Paramètre Description du Paramètre
Encoding L'encodage à utiliser.


Mathematical

Nom de la Fonction Description Exemple
ABS Renvoie la valeur absolue (non négative) de la valeur à laquelle est appliquée la fonction.
AVERAGE Renvoie la moyenne d'une liste de valeurs numériques.
Even Renvoie une valeur arrondie au nombre entier pair supérieur.
MAX Renvoie la valeur maximale à partir d'un ensemble de valeurs.
MIN Renvoie la valeur minimale à partir d'un ensemble de valeurs.
MOD Renvoie le modulo lorsqu'un nombre est divisé par un autre.
Nom du Paramètre Description du Paramètre
Divisor Le diviseur.
ODD Renvoie une valeur arrondie au nombre entier impair supérieur.
SUM Faire la somme d'une liste de valeurs.


Logical

Nom de la Fonction Description Exemple
AND ET logique
FALSE FAUX logique
IF Exécution Conditionnelle
Nom du Paramètre Description du Paramètre
Une expression qui est évaluée si la condition est remplie. True-Term
Une expression qui est évaluée si la condition n'est pas remplie. False-Term
AND ET logique
OR OU logique
TRUE VRAI logique
XOR XOR logique


Code nécessaire pour obtenir la fonction à partir du fichier jar libformula

import java.util.Locale;
import org.jfree.formula.DefaultFormulaContext;
 
/*
 * Si vous voulez changer ce modèle, choisissez Outils | Modèles
 * et ouvrez le modèle dans l'éditeur.
 */
import org.jfree.formula.function.FunctionCategory;
import org.jfree.formula.function.FunctionDescription;
import org.jfree.formula.function.FunctionRegistry;
 
/**
 *
 * @author Ocke Janssen
 */
public class NewMain {
 
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        DefaultFormulaContext obj = new DefaultFormulaContext();
        FunctionRegistry func = obj.getFunctionRegistry();
        FunctionCategory[] categories = func.getCategories();
        for (int i = 0 ; i < categories.length; ++i)
        {
            String display = categories[i].getDisplayName(Locale.ENGLISH);
            System.out.println("'''" + display +"'''<br>");
            System.out.println("{| class=\"prettytable\" cellpadding=\"10\" border=\"1\"");
            System.out.println("| '''''Function Name'''''");
            System.out.println("| '''''Description''''' ");
            System.out.println("| '''''Example '''''");
 
            String[] functions = func.getFunctionNamesByCategory(categories[i]);
            for(int j = 0; j < functions.length; ++j)
            {
                FunctionDescription desc = func.getMetaData(functions[j]);
                System.out.println();
                System.out.println("|-");
                System.out.println("| "+ desc.getDisplayName(Locale.ENGLISH));
                System.out.println("| "+ desc.getDescription(Locale.ENGLISH));
                int count = desc.getParameterCount();
                if (count > 1) {
                    System.out.println("{| class=\"prettytable\" cellpadding=\"10\" border=\"1\"");
                    System.out.println("| '''''Parameter Name''''' ");
                    System.out.println("| '''''Parameter Description''''' ");
                    System.out.println();
                }
                for(int k = 1; k < count; ++k) {
                    try {
                        System.out.println("|-");
                        System.out.println("| " + desc.getParameterDisplayName(k, Locale.ENGLISH));
                        System.out.println("| " + desc.getParameterDescription(k, Locale.ENGLISH));
                    } catch(Exception e) {
                    }
                }
                if (count > 1) {
                    System.out.println("|}");
                    System.out.println();
                }                    
 
                System.out.println("| ");
            }
            System.out.println("|}");
            System.out.println("<br>");
        }
    }
 
}
Personal tools