Vous êtes sur la page 1sur 5

Exercice 1

int i , j ;
for ( i = 0 ; ; i ++) {
for ( j = 0 ; ; j ++)
i f ( j++ < 100) // l o r s q u e j d e v i e n t 1, on sort de la boucle

break ;
System . out . p r i n t f ( "%d %d " , i , j ) ;
i f ( i == 3) // l o r s q u e i d e v i e n t 3 , on sort de la boucle

break ;
}

Le code précédent est équivalent à :


int i , j = 1 ;
for ( i = 0 ; i <= 3 ; i ++) {
System . out . p r i n t f ( "%d %d " , i , j ) ;
}

Donc la sortie est :

01112131

Exercice 2
class A {
public int x ;

public A( ) {
f ();
}

public void f ( ) {
x += 8 ;
}
}

c l a s s B extends A {

public int x ;

public void f ( ) {
x += 5 ;
}
}

public c l a s s Test {
public s t a t i c void main ( S t r i n g [ ] a r g s ) {
A a = new A( ) ;
B b = new B( ) ;

1
System . out . p r i n t l n ( a . x ) ;
//Ache 8 : x est initialisé à 0 puis incrémenté par 8 (appel de f())

System . out . p r i n t l n ( b . x ) ;
// Ache 5 : x est initialisé à 0 puis incrémenté par 5 (appel de f())

a = new B ( ) ;
System . out . p r i n t l n ( a . x ) ;
// Ache 0 : x est initialisé à 0 (n'est pas modié par la méthode f() de B)

System . out . p r i n t l n ( b . x ) ;
// Ache 5 (la valeur de x n'est pas modiée)
a. f ();
b. f ();
System . out . p r i n t l n ( a . x ) ;
// Ache 0 : (x n'est pas modiée par la méthode f() de B)

System . out . p r i n t l n ( b . x ) ;
// Ache 10 : x est incrémentée par 5 (appel de f())

}
}

Exercice 3
import j a v a . u t i l . Scanner ;
public c l a s s GestionGarage {
public s t a t i c void main ( S t r i n g [ ] a r g s ) {
Scanner c l a v i e r = new Scanner ( System . i n ) ;
S e r v i c e [ ] t a b S e r v i c e s = new S e r v i c e [ 3 ] ;
t a b S e r v i c e s [ 0 ] = new S e r v i c e ( " Lavage " , 60 , 3 0 ) ;
t a b S e r v i c e s [ 1 ] = new S e r v i c e ( " Vidange " , 15 , 2 0 ) ;
t a b S e r v i c e s [ 2 ] = new S e r v i c e ( " B a t t e r i e " , 10 , 1 0 ) ;

System . out . p r i n t l n ( " L i s t e des s e r v i c e s " ) ;


for ( int i = 0 ; i < 3 ; i ++)
System . out . p r i n t l n ( t a b S e r v i c e s [ i ] ) ;
System . out . p r i n t l n ( " V e u i l l e z s a i s i r v o t r e c h o i x : " ) ;

S t r i n g c h o i x = c l a v i e r . nextLine ( ) ;
System . out . p r i n t l n ( c h o i x ) ;
for ( S e r v i c e s e r v i c e : t a b S e r v i c e s )
i f ( s e r v i c e . getNom ( ) . e q u a l s ( c h o i x ) )
System . out . p r i n t l n ( s e r v i c e ) ;
}
}
class Service {
private S t r i n g nom ;
private int prix , temps ;
public S e r v i c e ( S t r i n g nom , int temps , int p r i x ) {

2
this . nom = nom ;
this . p r i x = p r i x ;
this . temps = temps ;
}
public S t r i n g t o S t r i n g ( ) {
return nom + " −−> temps : " + temps + "min , p r i x : " + p r i x + "Dh" ;
}
public S t r i n g getNom ( ) {
return nom ;
}
public int g e t P r i x ( ) {
return p r i x ;
}
public int getTemps ( ) {
return temps ;
}
}

Exercice 4
public c l a s s Personne {
private S t r i n g nomConnexion , motPasse ;

public Personne ( S t r i n g nomConnexion , S t r i n g motPasse ) {


this . nomConnexion = nomConnexion ;
this . motPasse = motPasse ;
}

public S t r i n g getNomConnexion ( ) {
return nomConnexion ;
}

public S t r i n g getMotPasse ( ) {
return motPasse ;
}

public void setNomConnexion ( S t r i n g nomConnexion ) {


this . nomConnexion = nomConnexion ;
}

public void setMotPasse ( S t r i n g motPasse ) {


this . motPasse = motPasse ;
}
}

public abstract c l a s s M a t e r i e l I n f o {
private S t r i n g type ;
s t a t i c int nume roInve ntaire =100;

3
public M a t e r i e l I n f o ( S t r i n g type ) {
this . type = type ;
nume roInve ntaire++;
}

public S t r i n g getType ( ) {
return type ;
}

public abstract void c o n f i g u r a t i o n ( ) ;

public c l a s s Reseau extends M a t e r i e l I n f o {


private S t r i n g nom , motPasse ;
private int n b r e I n t e r f a c e s ;

public Reseau ( S t r i n g type , S t r i n g nom , S t r i n g motPasse ,


int n b r e I n t e r f a c e s ) {
super ( type ) ;
this . nom = nom ;
this . motPasse = motPasse ;
this . n b r e I n t e r f a c e s = n b r e I n t e r f a c e s ;
}

public void c o n f i g u r a t i o n ( ) {
System . out . p r i n t l n ( " Reseau " ) ;
}
}

public c l a s s PC extends M a t e r i e l I n f o {
Personne a d m i n i s t r a t e u r ;
public PC( S t r i n g type , Personne a d m i n i s t r a t e u r ) {
super ( type ) ;
this . a d m i n i s t r a t e u r = a d m i n i s t r a t e u r ;
}

public void c o n f i g u r a t i o n ( ) {
System . out . p r i n t l n ( "PC" ) ;
}
}

import j a v a . u t i l . InputMismatchException ;
import j a v a . u t i l . Scanner ;

public c l a s s G e s t i o n M a t e r i e l I n f o {
public s t a t i c void main ( S t r i n g [ ] a r g s ) {
// pour la saisie a partir du clavier

Scanner c l a v i e r = new Scanner ( System . i n ) ;


int n ;

4
MaterielInfo [ ] equipements = new M a t e r i e l I n f o [ 4 ] ;
equipements [ 0 ] = new Reseau ( " Reseau " , " r o u t e u r " , " 0000 " , 2 ) ;
equipements [ 1 ] = new Reseau ( " Reseau " , " s w i t c h " , " 0000 " , 2 4 ) ;
equipements [ 2 ] = new PC( "PC" , new Personne ( " r o o t " , " fsoAdmin " ) ) ;
equipements [ 3 ] = new PC( "PC" , new Personne ( " r o o t " , " fsoAdmin " ) ) ;

for ( M a t e r i e l I n f o equipement : equipements )


System . out . p r i n t l n ( equipement . getType ( ) ) ;

System . out . p r i n t l n ( " S a i s i r un e n t i e r compris e n t r e 0 e t 3" ) ;


try {
n = c l a v i e r . nextInt ( ) ;
equipements [ n ] . c o n f i g u r a t i o n ( ) ;
} catch ( InputMismatchException exp ) {
System . out . p r i n t l n ( "Vous n ' avez pas s a i s i un e n t i e r " ) ;
} catch ( ArrayIndexOutOfBoundsException exp ) {
System . out . p r i n t l n ( "Vous avez d e p a s s e l e t a b l e a u " ) ;
}
}
}

Vous aimerez peut-être aussi