fr.jussieu.script
Class Deug

java.lang.Object
  extended by fr.jussieu.script.Deug

public final class Deug
extends java.lang.Object

La classe Deug permet de réaliser:

Elle permet de masquer certaines constructions de Java que nous avons considérées comme trop avancées pour une initiation à la programmation. D'autre part, une tentative d'uniformisation de nommage a été faite afin de normaliser les incantations Java.

Entrées/Sorties

Les entrées ne prennent leur source qu'au clavier et les sorties ne se réalisent qu'à l'écran du terminal.

Les fonctions print(type) et println(type) permettant d'afficher tout type de données (la seconde série produit en plus un retour à la ligne).

Les entrées se font par l'intermédiaire des fonctions readType() pour tout type de données primitives Java. Chaqcune de ces fonctions positionne en cas d'erreur un état que l'on peut interroger par les fonctions isOk() et getStatus().

Dessins

Un exemple de programme graphique typique est le suivant:

 Deug.startDrawings(200,200);
 for (i=0; i<200; i+=4) {
   Deug.setGray(i);
   Deug.drawLine(0,i,199,199-i);
   Deug.drawLine(i,0,199-i,199);
 }
 Deug.stopDrawings();
 
Pour obtenir:

Chaînes

On trouvera les fonctions typeToString() et stringTotype() où (type peut être: boolean, int, long, ou double) qui réalisent les conversions attendues.

On trouvera aussi les fonctions de comparaison: equals(), compare(), subString(), charAt() et length().

Version:
0.19, 30/10/08
Author:
Jean-Baptiste.Yunes@liafa.jussieu.fr, Fabien.Tarissan@pps.jussieu.fr

Field Summary
static int ARG_ERROR
          L'argument passé est invalide (ex: ==null)
static int FORMAT_ERROR
          La conversion de type sur la chaîne de caractère lue sur l'entrée n'a pas été possible.
static int NO_ERROR
          Rien à signaler en ce qui concerne la dernière opération d'entrée/sortie.
static int STREAM_ERROR
          La lecture sur le flot d'entrée s'est révélée impossible. comme trop avancées pour une initiation à la programmation.
 
Method Summary
static java.lang.String booleanToString(boolean value)
          Convertit un booléen en chaîne de caractères.
static char charAt(java.lang.String aString, int position)
           
static java.lang.String charToString(char value)
          Convertit un caractère en une de chaîne de caractères.
static void clearArea()
          Efface intégralement le contenu de la fenêtre graphique.
static int compare(java.lang.String aString, java.lang.String anotherString)
          Compare deux chaînes de caractères.
static java.lang.String doubleToString(double value)
          Convertit un réel double en de chaîne de caractères.
static void drawArc(int x, int y, int r, int angleInit, int angleCouvert)
          Dessine un arc de cercle vide dans la zone d'affichage.
static void drawCircle(int x, int y, int r)
          Dessine un cercle vide dans la zone d'affichage.
static void drawLine(int x0, int y0, int x1, int y1)
          Dessine un segment de droite dans la zone d'affichage.
static void drawPoint(int x, int y)
          Dessine un point dans la zone d'affichage.
static void drawRect(int x, int y, int l, int h)
          Dessine un rectangle vide dans la zone d'affichage.
static boolean equals(java.lang.String aString, java.lang.String anotherString)
          Compare deux chaînes de caractères.
static void exit()
          Termine toute exécution de la machine.
static void fillArc(int x, int y, int r, int angleInit, int angleCouvert)
          Dessine un arc de cercle plein dans la zone d'affichage.
static void fillCircle(int x, int y, int r)
          Dessine un cercle plein dans la zone d'affichage.
static void fillRect(int x, int y, int l, int h)
          Dessine un rectangle plein dans la zone d'affichage.
static java.lang.String floatToString(float value)
          Convertit un réel simple en chaîne de caractères.
static int getStatus()
          Renvoie l'erreur rencontrée lors de la dernière opération d'entrée/sortie.
static java.lang.String intToString(int value)
          Convertit un entier en chaîne de caractères.
static boolean isOk()
          Renvoie l'état de la dernière opération d'entrée/sortie.
static int length(java.lang.String aString)
          Calcule la longueur d'une chaîne de caractères.
static java.lang.String longToString(long value)
          Convertit un entier long en chaîne de caractères.
static void print(boolean b)
          Affiche la valeur d'un booléen (boolean)
static void print(char c)
          Affiche un caractère Unicode.
static void print(double d)
          Affiche la valeur d'un flottant double précision (double)
static void print(float f)
          Affiche la valeur d'un flottant simple précision (float)
static void print(int i)
          Affiche la valeur d'un entier (int)
static void print(long l)
          Affiche la valeur d'un entier long (long)
static void print(java.lang.Object o)
          Affiche la représentation en String de l'objet
static void print(java.lang.String s)
          Affiche la chaîne de caractère (String)
static void println()
          Affiche un saut de ligne.
static void println(boolean b)
          Affiche la valeur d'un booléen (boolean) suivie d'un saut de ligne.
static void println(char c)
          Affiche un caractère suivi d'un saut de ligne.
static void println(double d)
          Affiche un flottant double précision suivi d'une fin de ligne.
static void println(float f)
          Affiche la valeur d'un flottant simple précision (float) suivie d'un saut de ligne.
static void println(int i)
          Affiche la valeur d'un entier (int) suivie d'un saut de ligne.
static void println(long l)
          Affiche la valeur d'un entier long (long) suivie d'un saut de ligne.
static void println(java.lang.Object o)
           
static void println(java.lang.String s)
           
static char readChar()
          Lit sur l'entrée un caractère et renvoie sa valeur.
static double readDouble()
          Lit un lexème sur l'entrée et le convertit en double.
static float readFloat()
          Lit un lexème sur l'entrée et le convertit en float.
static int readInt()
          Lit un lexème sur l'entrée et le convertit en int.
static java.lang.String readLine()
          Lit l'ensemble des caractères jusqu'à la prochaine fin de ligne.
static long readLong()
          Lit un lexème sur l'entrée et le convertit en long.
static java.lang.String readString()
          Lit un mot sur l'entrée.
static void setGray(int c)
          Modifie la couleur de l'encre des points à dessiner.
static void startDrawings()
          Prépare une zone d'affichage de taille 200x200.
static void startDrawings(int width, int height)
          Prépare une zone d'affichage de taille arbitraire.
static void stopDrawings()
          Ferme la fenêtre graphique.
static boolean stringToBoolean(java.lang.String s)
          Convertit une chaîne de caractères en boolean.
static byte stringToByte(java.lang.String s)
          Convertit une chaîne de caractères en byte.
static double stringToDouble(java.lang.String s)
          Convertit une chaîne de caractères en double.
static float stringToFloat(java.lang.String s)
          Convertit une chaîne de caractères en float.
static int stringToInt(java.lang.String s)
          Convertit une chaîne de caractères en int.
static long stringToLong(java.lang.String s)
          Convertit une chaîne de caractères en long.
static java.lang.String subString(java.lang.String aString, int begin, int end)
          Extrait une sous-chaîne d'une chaîne donnée.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

NO_ERROR

public static final int NO_ERROR
Rien à signaler en ce qui concerne la dernière opération d'entrée/sortie.

See Also:
Constant Field Values

STREAM_ERROR

public static final int STREAM_ERROR
La lecture sur le flot d'entrée s'est révélée impossible. comme trop avancées pour une initiation à la programmation. D'autre part, une tentative d'uniformisation de nommage a été faite afin de normaliser les incantations Java.

See Also:
Constant Field Values

FORMAT_ERROR

public static final int FORMAT_ERROR
La conversion de type sur la chaîne de caractère lue sur l'entrée n'a pas été possible.

See Also:
Constant Field Values

ARG_ERROR

public static final int ARG_ERROR
L'argument passé est invalide (ex: ==null)

See Also:
Constant Field Values
Method Detail

isOk

public static boolean isOk()
Renvoie l'état de la dernière opération d'entrée/sortie.
true
si tout s'est bien passé;
false
si une erreur s'est produite. En ce cas, il peut être utile de consulter la cause de l'erreur (getStatus()).
Un appel est équivalent à getStatus()==NO_ERROR.

Returns:
l'état logique de la dernière opération.

getStatus

public static int getStatus()
Renvoie l'erreur rencontrée lors de la dernière opération d'entrée/sortie.

Returns:
la dernière erreur recontrée.

readChar

public static char readChar()
Lit sur l'entrée un caractère et renvoie sa valeur.

Les octets lus l'ont été sur l'entrée standard.

Returns:
le caractère lu sur l'entrée. Si le caractère renvoyé est le caractère <nul> il est alors nécessaire de consulter l'état de l'opération (isOk()).

exit

public static void exit()
Termine toute exécution de la machine.


readLine

public static java.lang.String readLine()
Lit l'ensemble des caractères jusqu'à la prochaine fin de ligne.

Les caractères lus le sont par l'intermédiaire de la méthode readChar()

Returns:
la ligne suivante disponible sur l'entrée.

stringToBoolean

public static boolean stringToBoolean(java.lang.String s)
Convertit une chaîne de caractères en boolean.

Parameters:
s - la chaîne
Returns:
la valeur obtenue après conversion (boolean)
true
si s est égale à "true"
false
sinon

stringToInt

public static int stringToInt(java.lang.String s)
Convertit une chaîne de caractères en int.

En cas d'erreur de conversion l'état est positionné en conséquence.

Parameters:
s - la chaîne à convertir
Returns:
la valeur obtenue après conversion (int) Attention: si la valeur renvoyée est 0, il est nécessaire de consulter le statut de l'opération...

stringToByte

public static byte stringToByte(java.lang.String s)
Convertit une chaîne de caractères en byte.

En cas d'erreur de conversion l'état est positionné en conséquence.

Parameters:
s - la chaîne à convertir
Returns:
la valeur obtenue après conversion (byte) Attention: si la valeur renvoyée est 0, il est nécessaire de consulter le statut de l'opération...

stringToDouble

public static double stringToDouble(java.lang.String s)
Convertit une chaîne de caractères en double.

En cas d'erreur de conversion l'état est positionné en conséquence.

Parameters:
s - la chaîne à convertir
Returns:
la valeur obtenue après conversion (double) Attention: si la valeur renvoyée est 0, il est nécessaire de consulter le statut de l'opération...

stringToFloat

public static float stringToFloat(java.lang.String s)
Convertit une chaîne de caractères en float.

En cas d'erreur de conversion l'état est positionné en conséquence.

Parameters:
s - la chaîne à convertir
Returns:
la valeur obtenue après conversion (float) Attention: si la valeur renvoyée est 0, il est nécessaire de consulter le statut de l'opération...

stringToLong

public static long stringToLong(java.lang.String s)
Convertit une chaîne de caractères en long.

En cas d'erreur de conversion l'état est positionné en conséquence.

Parameters:
s - la chaîne à convertir
Returns:
la valeur obtenue après conversion (long) Attention: si la valeur renvoyée est 0, il est nécessaire de consulter le statut de l'opération...

readInt

public static int readInt()
Lit un lexème sur l'entrée et le convertit en int.

En cas d'erreur (fin du flot ou problème de conversion) l'état est positionné en conséquence.

Returns:
le lexème suivant en tant qu'entier (int)

readLong

public static long readLong()
Lit un lexème sur l'entrée et le convertit en long.

En cas d'erreur (fin du flot ou problème de conversion) l'état est positionné en conséquence.

Returns:
le lexème suivant en tant qu'entier long (long)

readFloat

public static float readFloat()
Lit un lexème sur l'entrée et le convertit en float.

En cas d'erreur (fin du flot ou problème de conversion) l'état est positionné en conséquence.

Returns:
le lexème suivant en tant qu'entier (float)

readDouble

public static double readDouble()
Lit un lexème sur l'entrée et le convertit en double.

En cas d'erreur (fin du flot ou problème de conversion) l'état est positionné en conséquence.

Returns:
le lexème suivant en tant qu'entier (double)

readString

public static java.lang.String readString()
Lit un mot sur l'entrée.

En cas d'erreur (fin du flot) l'état est positionné en conséquence.

Returns:
le mot suivant sur l'entrée (null en cas d'échec).

print

public static void print(char c)
Affiche un caractère Unicode.

Parameters:
c - Le caractère à afficher.

print

public static void print(int i)
Affiche la valeur d'un entier (int)

Parameters:
i - L'entier à afficher

print

public static void print(boolean b)
Affiche la valeur d'un booléen (boolean)

Parameters:
b - Le booléen à afficher

print

public static void print(long l)
Affiche la valeur d'un entier long (long)

Parameters:
l - L'entier long à afficher

print

public static void print(float f)
Affiche la valeur d'un flottant simple précision (float)

Parameters:
f - Le flottant à afficher

print

public static void print(double d)
Affiche la valeur d'un flottant double précision (double)

Parameters:
d - Le flottant à afficher

print

public static void print(java.lang.Object o)
Affiche la représentation en String de l'objet

Parameters:
o - L'objet à afficher

print

public static void print(java.lang.String s)
Affiche la chaîne de caractère (String)

Parameters:
s - La chaîne à afficher

println

public static void println(char c)
Affiche un caractère suivi d'un saut de ligne. Un appel à cette fonction est équivalent à print(c); println();.

Parameters:
c - Le caractère à afficher.

println

public static void println(boolean b)
Affiche la valeur d'un booléen (boolean) suivie d'un saut de ligne. Un appel à cette fonction est équivalent à print(b); println();.

Parameters:
b - Le booléen à afficher

println

public static void println(int i)
Affiche la valeur d'un entier (int) suivie d'un saut de ligne. Un appel à cette fonction est équivalent à print(i); println();.

Parameters:
i - L'entier à afficher

println

public static void println(long l)
Affiche la valeur d'un entier long (long) suivie d'un saut de ligne. Un appel à cette fonction est équivalent à print(l); println();.

Parameters:
l - L'entier long à afficher

println

public static void println(float f)
Affiche la valeur d'un flottant simple précision (float) suivie d'un saut de ligne. Un appel à cette fonction est équivalent à print(f); println();.

Parameters:
f - Le flottant à afficher

println

public static void println(double d)
Affiche un flottant double précision suivi d'une fin de ligne. Un tel appel se comporte comme print(d); println().

Parameters:
d - Le double à afficher.

println

public static void println(java.lang.Object o)

println

public static void println(java.lang.String s)

println

public static void println()
Affiche un saut de ligne.


charAt

public static char charAt(java.lang.String aString,
                          int position)

subString

public static java.lang.String subString(java.lang.String aString,
                                         int begin,
                                         int end)
Extrait une sous-chaîne d'une chaîne donnée.

Parameters:
aString - la chaîne d'où extraire
begin - indice du premier caractère à extraire
end - indice du caractère exclu de l'extraction
Returns:
la chaîne extraite

booleanToString

public static java.lang.String booleanToString(boolean value)
Convertit un booléen en chaîne de caractères.

Parameters:
value - le booléen
Returns:
la chaîne

charToString

public static java.lang.String charToString(char value)
Convertit un caractère en une de chaîne de caractères.

Parameters:
value - le caractère
Returns:
la chaîne

floatToString

public static java.lang.String floatToString(float value)
Convertit un réel simple en chaîne de caractères.

Parameters:
value - le réel simple précision
Returns:
la chaîne

doubleToString

public static java.lang.String doubleToString(double value)
Convertit un réel double en de chaîne de caractères.

Parameters:
value - le réel double précision
Returns:
la chaîne

intToString

public static java.lang.String intToString(int value)
Convertit un entier en chaîne de caractères.

Parameters:
value - l'entier
Returns:
la chaîne

longToString

public static java.lang.String longToString(long value)
Convertit un entier long en chaîne de caractères.

Parameters:
value - l'entier long
Returns:
la chaîne

equals

public static boolean equals(java.lang.String aString,
                             java.lang.String anotherString)
Compare deux chaînes de caractères.

Parameters:
aString - Une chaîne de caractères.
anotherString - Une chaîne de caractères.
Returns:
true si les deux chaînes sont égales, false sinon.

compare

public static int compare(java.lang.String aString,
                          java.lang.String anotherString)
Compare deux chaînes de caractères.

Parameters:
aString - une première chaîne
anotherString - une seconde chaîne
Returns:
0 si les deux chaînes sont égales; une valeur négative si la seconde est plus grande que la première dans l'ordre lexicographique et une valeur positive si la première est plus grande (dans l'ordre lexicographique) que la seconde.

length

public static int length(java.lang.String aString)
Calcule la longueur d'une chaîne de caractères.

Parameters:
aString - la chaîne
Returns:
la longueur

startDrawings

public static void startDrawings()
Prépare une zone d'affichage de taille 200x200.


startDrawings

public static void startDrawings(int width,
                                 int height)
Prépare une zone d'affichage de taille arbitraire.

Parameters:
width - La largeur de la zone d'affichage
height - La hauteur de la zone d'affichage

stopDrawings

public static void stopDrawings()
Ferme la fenêtre graphique.


drawPoint

public static void drawPoint(int x,
                             int y)
Dessine un point dans la zone d'affichage.

Parameters:
x - L'abscisse du point.
y - L'ordonnée du point.

setGray

public static void setGray(int c)
Modifie la couleur de l'encre des points à dessiner. Les couleurs disponibles sont au nombre de 256 niveaux de gris, de 0 pour coder le noir à 255 pour coder le blanc. Un gris médian s'obtient donc avec 127.

Parameters:
c - La couleur.

drawLine

public static void drawLine(int x0,
                            int y0,
                            int x1,
                            int y1)
Dessine un segment de droite dans la zone d'affichage.

Parameters:
x0 - L'abscisse du premier point.
y0 - L'ordonnée du premier point.
x1 - L'abscisse du second point.
y1 - L'ordonnée du second point.

drawRect

public static void drawRect(int x,
                            int y,
                            int l,
                            int h)
Dessine un rectangle vide dans la zone d'affichage.

Les droites délimitant le rectangle à gauche et à droite sont situées aux abscisses x et x+l. Celles délimitant le rectangle en haut et en bas sont situées aux ordonnées y et y+h.

Parameters:
x - L'abscisse du coin nord-ouest du rectangle.
y - L'ordonnée du coin nord-ouest du rectangle.
l - La largeur du rectangle.
h - La hauteur du rectangle.

fillRect

public static void fillRect(int x,
                            int y,
                            int l,
                            int h)
Dessine un rectangle plein dans la zone d'affichage.

Les droites délimitant le rectangle à gauche et à droite sont situées aux abscisses x et x+l. Celles délimitant le rectangle en haut et en bas sont situées aux ordonnées y et y+h.

Parameters:
x - L'abscisse du coin nord-ouest du rectangle.
y - L'ordonnée du coin nord-ouest du rectangle.
l - La largeur du rectangle.
h - La hauteur du rectangle.

drawCircle

public static void drawCircle(int x,
                              int y,
                              int r)
Dessine un cercle vide dans la zone d'affichage.

Parameters:
x - L'abscisse du centre du cercle.
y - L'ordonnée du centre du cercle.
r - Le rayon du cercle.

fillCircle

public static void fillCircle(int x,
                              int y,
                              int r)
Dessine un cercle plein dans la zone d'affichage.

Parameters:
x - L'abscisse du centre du cercle.
y - L'ordonnée du centre du cercle.
r - Le rayon du cercle.

drawArc

public static void drawArc(int x,
                           int y,
                           int r,
                           int angleInit,
                           int angleCouvert)
Dessine un arc de cercle vide dans la zone d'affichage.

La valeur des angles est spécifiée en degré. Le sens de rotation est celui des cercles trigonométriques. L'angle de départ est angleInit et l'angle de fin angleInit + angleCouvert

Parameters:
x - L'abscisse du centre du cercle.
y - L'ordonnée du centre du cercle.
r - Le rayon du cercle.
angleInit - Angle de départ.
angleCouvert - Angle de rotation.

fillArc

public static void fillArc(int x,
                           int y,
                           int r,
                           int angleInit,
                           int angleCouvert)
Dessine un arc de cercle plein dans la zone d'affichage.

La valeur des angles est spécifiée en degré. Le sens de rotation est celui des cercles trigonométriques. L'angle de départ est angleInit et l'angle de fin angleInit + angleCouvert

Parameters:
x - L'abscisse du centre du cercle.
y - L'ordonnée du centre du cercle.
r - Le rayon du cercle.
angleInit - L'angle de départ.
angleCouvert - L'angle de rotation.

clearArea

public static void clearArea()
Efface intégralement le contenu de la fenêtre graphique.