Java-TP1 RT Fonctions de base – mode console I – Utilisation en

Java-TP1 RT
Fonctions de base – mode console
I – Utilisation en mode minimal
1.2 – Programme "Hello World !"
public class Prog1 {
public static void main(String[] args) {
System.out.println("Hello IUT Elbeuf !\n");
}
}
- PATH=%PATH%;C:\Program Files\Java\JDK1.5.0_04\bin
=> Lorsqu'une commande est demandée par l'utilisateur, le système recherche le fichier
correspondant dans le répertoire en cours, puis dans tous les répertoires mémorisés par la variable
PATH, jusqu'à ce que le fichier soit trouvé. Si aucun fichier ne correspond à la fin de la
recherche, alors un message d'erreur est retourné.
- javac Prog1.java
La compilation du fichier source génère un fichier contenant les macro-instructions, de même
nom, avec l'extension ".class"
- java Prog1
Cette commande permet d'exécuter le programme en mode console.
Le message "Hello IUT Elbeuf !!" apparaît alors.
- En cas d'erreur lors de la compilation, un message apparaît à l'écran, et indique succinctement
la position et le type d'erreur rencontré.
- ! Il est important de respecter la correspondance entre le nom de la classe (publique), et le nom
du fichier source.
1.3 – Gestion des arguments
public class prog2 {
public static void main(String[] args) {
System.out.println("Liste des arguments saisis :!\n");
for (int i=0; i<args.length; i++) {
System.out.println("arguments nø" + i + " = " + args[i]);
}
}
}
=> Cette application affiche la liste des arguments fournis sur la ligne de commande :
Commande : java prog2 1 2 4568 bonjour
Résultat généré : Liste des arguments saisis :!
arguments nø0 = 1
arguments nø1 = 2
arguments nø2 = 4568
arguments nø3 = bonjour
IUT Elbeuf 1 - 10 S.H.
Java-TP1 RT
Fonctions de base – mode console
1.4 – Saisie de valeurs
import java.io.*;
public class Prog3
{
public static void main(String[] args) throws IOException {
BufferedReader in = new BufferedReader(
new InputStreamReader(System.in));
String s;
boolean fin=false;
while (!fin) {
System.out.print("Entrez une valeur >");
s=in.readLine();
System.out.println(s);
if (s.length()==0) fin =true;
}
}
}
=> Demande une valeur au clavier, puis recopie la ligne saisie sur l'écran.
Le programme boucle jusqu'à ce qu'aucune valeur ne soit entrée
(appui direct sur la touche <return>)
1.5 – Analyse de code
- Affichage de message sur la console => System.out.print / System.out.println
- Les arguments de la ligne de commande sont directement accessible par la variable "args"
(tableau de chaînes de caractères)
- La saisie d'une valeur au clavier nécessite les lignes suivantes :
=> Déclaration
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
=> Lecture de la chaîne suivante :
String s=in.readLine();
Le résultat obtenu est une chaîne de caractères (contenu saisi jusqu'à <return>)
- "s.length()" représente la longueur de la chaîne de caractères.
IUT Elbeuf 2 - 10 S.H.
Java-TP1 RT
Fonctions de base – mode console
II – Gestion de base d'une application
2.1 – Prise en main d'un IDE Java : JCreator
- JCreator permet d'exécuter des programmes console, mais sans arguments sur la ligne de
commande (pas de paramétrages disponible pour modifier la commande de lancement de
l'application)
2.2 – Calcul de factorielle (Version 1 => Prog5)
Version 1
public class Prog5 {
public static void main(String [] args) {
int n=5; // Valeur de calcul (n!)
int k=1;
for (int i=1; i<=n; i++) k*=i; // Calcul factorielle
System.out.println(n + "! = " + k); // Affichage du résultat
}
}
Version 2
public class Prog5 {
public static void main(String [] args) {
int n=5;
System.out.println(n + "! = " + Factorielle(n));
}
static int Factorielle(int n) { // Méthode de calcul
int k=1;
for (int i=1; i<=n; i++) k*=i;
return k;
}
}
IUT Elbeuf 3 - 10 S.H.
Java-TP1 RT
Fonctions de base – mode console
2.3 – Saisie de paramètres au clavier (factorielle version 2 => Prog6)
import java.io.*;
public class Prog5 {
public static void main(String [] args) throws IOException {
BufferedReader clavier =
new BufferedReader(new InputStreamReader(System.in));
String s="0";
boolean fin=false;
while (!fin)
try {
System.out.print("Entrez une valeur :");
s = clavier.readLine();
if (s.equals("q") || s.equals("Q")) fin = true;
else {
int n=Integer.parseInt(s);
System.out.println(n + "! = " + Factorielle(n));
}
}
catch (NumberFormatException e) {
System.out.println("Saisir une valeur entiere !");
}
catch (IllegalArgumentException e) {
System.out.println("Erreur arg : " + e.getMessage());
}
}
static int Factorielle(int n) {
if (n < 1) throw new IllegalArgumentException("n doit etre
strictement positif !");
int k=1;
for (int i=1; i<=n; i++) k*=i;
return k;
}
}
2.4 – Création d'une nouvelle classe (factorielle version 3 => Prog7)
programme idem précédent sauf :
System.out.println(n + "! = " + calcul.Factorielle(n));
class calcul {
static int Factorielle(int n) {
}
IUT Elbeuf 4 - 10 S.H.
Java-TP1 RT
Fonctions de base – mode console
III – Gestion des objets
3.1 – Création d'une classe (Prog8)
import java.io.*;
public class Prog8 {
static public void main (String [] args) {
MonRect RA = new MonRect();
MonRect RB = new MonRect();
System.out.println("Rectangle A : ");
RA.Affichage();
RA.Deplacement(50, 80);
RA.Dimension(100,200);
RA.Affichage();
System.out.println("Rectangle B : ");
RB.Affichage();
RB = RA;
RB.Affichage();
}
}
class MonRect {
int x1, x2, y1, y2;
String snom="rect";
public void Affichage() {
System.out.println("Coordonnees du rectangle " + snom + " :");
System.out.println("Point 1 : x1 = " + x1 + " / y1 = " + y1);
System.out.println("Point 2 : x2 = " + x2 + " / y2 = " + y2);
}
public void Deplacement(int dx, int dy) {
x1 += dx; y1 += dy;
x2 += dx; y2 += dy;
}
public void Dimension(int dx, int dy) {
x2 = x1 + dx; y2 = y1 + dy;
}
}
IUT Elbeuf 5 - 10 S.H.
1 / 10 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !