Showing posts with label Exercices corrigés java. Show all posts
Showing posts with label Exercices corrigés java. Show all posts

Sunday, February 16, 2014

Exercices corrigés java : série 2 de 10 exercices

Exercices corrigés en java :

EXERCICE 1: (tirer un nombre au hasard dans un intervalle précis)

Ecrire un programme qui affiche au hasard un nombre entier compris entre 0 et 50. Puis le programme affiche au hasard un nombre compris entre 11 et 25. Puis le programma affiche un nombre au hasard entre - 10 et + 25.

Correction exercice 1 :

class Q1
{
public static void main( String args [])
throws Exception
{
double hasard= Math.random() * 51;
System.out.println ("Nombre entier entre 0 et 50 est : " + (int)hasard);
hasard=11+ Math.random() * 15;
System.out.println ("Nombre entier entre 11 et 25 est : " + (int)hasard);
hasard=-10+ Math.random() * 36;
System.out.println ("Nombre entier entre -10 et +25 est : " + (int)hasard );
}
}

EXERCICE 2 : (tirer 2 nombres au hasard )

Ecrire un programme qui affiche deux nombres entiers pris au hasard entre 0 et 50 avec la condition que l’un doit forcément être le double de l’autre.

Correction exercice 2 :

class Q2
{
public static void main( String args [])
throws Exception
{
double nbre1,nbre2;
int n1,n2; 
do
{
nbre1= Math.random() ;
nbre2= Math.random();
n1=(int)nbre1* 51;
n2=(int)nbre2 * 51;
System.out.println (n1 + " ? " + n2 );

}while(n1!=2*n2||(n1!=(n2)/2));
}
}

EXERCICE 3 : (Nombre secret)
Ecrire un programme qui tire au hasard un nombre entier compris entre 1 et 10. Ce nombre (secret) n’est pas affiché. Puis le programme demande à l’utilisateur d’entrer un nombre entier au hasard entre 1 et 10. Si le nombre de l’utilisateur est supérieur au nombre secret, le programme lui indique en lui demandant d’entrer un nouveau nombre. De même si le nombre est inférieur. Puis, lorsque l’utilisateur le trouve, le programme lui dit qu'il a gagné en lui indiquant le nombre de fois qu'il lui a fallu pour trouver le nombre.

Correction exercice 3 :

import java.util.Scanner;
class Q3
{
public static void main( String args [])
throws Exception
{
double sec=Math.random()*11;
int secret=(int)sec;
int nbreessai=0,essai; 
do
{
nbreessai++;
System.out.println ("Entrez un essai : ");
Scanner sc = new Scanner(System.in);
essai=sc.nextInt();
if (essai < secret)
{
System.out.println ("Désolé c'est plus grand");
}
if(essai > secret)
{
System.out.println ("Désolé c'est plus petit");
}
if(essai == secret)
{
System.out.println ("Bravo, vous avez gagné");
System.out.println ("Vous essayé " + nbreessai + " fois");
break;
}
}while(true);
}
}

EXERCICE 4: (résoudre une équation du second degré à une inconnue)

Ecrire un programme qui permet de résoudre une équation de 2nd degré à une inconnue: ax² + bx + c. L’utilisateur entre les trois paramètres de l’équation : a, b et c. Puis le programme affiche la solution.

Correction exercice 4 :

import java.util.Scanner;
class Q4
{
public static void main( String args [])
throws Exception
{
Scanner sc = new Scanner (System.in);
double a , b, c, d;
System.out.println ("Resolution des equations de 2eme degre ax² + bx +c =0");
System.out.println ("Entrez le 1er parametre");
a= sc.nextDouble();
System.out.println ("Entrez le 2er parametre");
b= sc.nextDouble();
System.out.println ("Entrez le 3er parametre");
c= sc.nextDouble();
d= b*b - 4 *a*c;

if (d<0)
{
System.out.println ("Aucune solution dans R");
}

if (d==0)
{
System.out.println ("l'unique solution est ");System.out.println (-b/(2*a));
}
if (d>0)
{
System.out.println ("Deux solutions x1= ");System.out.println ((-b-Math.sqrt(d))/(2*a));
System.out.println ("x2= ");System.out.println ((-b+Math.sqrt(d))/(2*a));
}
}
}


EXERCICE 5 : (Nombre de jours dans un mois)

Ecrire un programme qui demande à l’utilisateur de saisir le mois et l’année. Puis le programme affiche le nombre de jours de ce mois. Rappel : Janvier, Mars, Mai, Juillet, Août, Octobre et Décembre ont toujours 31 jours quelque soit l’année. Avril, Juin, Septembre et Novembre ont toujours 30 jours quelque soit l’année Le nombre de jours de février est égal à 28. Sauf les années bissextiles. Une année est bissextile lorsqu' elle est divisible par 4 et non par 100. Ou alors, elle est divisible par 400.

Correction exercice 5 :

import java.util.Scanner;
class Q5
{
public static void main( String args [])
throws Exception
{
Scanner sc = new Scanner (System.in);
System.out.println ("Entrez l'année :");
int annee=sc.nextInt();
System.out.println ("Entrez le mois :");
int mois=sc.nextInt();
switch (mois)
{
case 1 : case 3 : case 5 :case 7 : case 8 : case 10 : case 12 :
System.out.println("Le nombre de jour de ce mois est 31");
break;
case 4 : case 6 : case 9 :case 11 :
System.out.println("Le nombre de jour de ce mois est 30");
break;
case 2:
if (annee%4 !=0)
{
System.out.println("Le nombre de jour de ce mois est 28");
}
else
{
System.out.println("Le nombre de jour de ce mois est 29");
}
break;
default:
System.out.println ("Erreur de saisie");
break;
}
}
}


EXERCICE 6 : (Présence d’un caractère dans une chaine)

Ecrire un programme qui demande à l'utilisateur de saisir un caractère. Puis le programme affiche le nombre de fois où l’on trouve ce caractère dans une chaine préenregistrée.

Correction exercice 6 :

import java.io.*;
class Q6
{
public static void main (String [] args)
throws IOException
{
BufferedReader clavier = new BufferedReader(new InputStreamReader(System.in));
String chaine = "Je suis en vacances, oubliez moi un peu cameleon.";
int nombreDEfois = 0;
System.out.print("Entrez un caractere : ");
char c = clavier.readLine().charAt(0);
for(int i = 0; i < chaine.length(); i++)
{
if(chaine.charAt(i) == c)
nombreDEfois++;
}
System.out.println("On trouve " + c + ", " + nombreDEfois + " fois dans : " + "\" " +chaine + "\" ");
}
}


EXERCICE 7 : (Somme des n premiers nombres entiers)

Ecrire un programme qui demande à l’utilisateur de saisir un nombre entier n, positif et non nul. Puis le programme affiche la somme des n premiers nombres entiers positifs non nuls. Exemple : on saisit 4 et le programme affiche 1 + 2 + 3 + 4 = 10.

Correction exercice 7 :

import java.util.Scanner;
class Q7
{
public static void main( String args [])
throws Exception
{
Scanner sc = new Scanner (System.in);
int nbre, somme=0;
do
{
System.out.println("Entrez un nombre positif non null");
nbre=sc.nextInt();
}while(nbre<=0);

while (nbre!=0)
{
somme=somme+nbre;
nbre--;
}
System.out.println ("La somme est : " + somme);
}
}


EXERCICE 8 : (produit des n premiers nombres entiers)

Ecrire un programme qui demande à l’utilisateur de saisir un nombre entier n positif et non nul. Puis le programme affiche le produit des n premiers nombres entiers positifs non nuls. 

Exemple : on saisit 4 et le programme affiche 24. Car 1 * 2 * 3 * 4 = 24.

Correction exercice 8 :

import java.util.Scanner;
class Q8
{
public static void main( String args [])
throws Exception
{
Scanner sc = new Scanner (System.in);
int nbre, fact=1;
do
{
System.out.println("Entrez un nombre positif non null");
nbre=sc.nextInt();
}while(nbre<=0);

for(int i=1; i<=nbre;i++)
{
fact=fact*i;
}
System.out.println ("Le produit des " + nbre + " premiers nombres est : " + fact);
}
}


EXERCICE 9 : (factoriel d’un entier positif non nul)

Ecrire un programme qui demande à l’utilisateur de saisir un nombre entier positif non nul. Puis le programme affiche la valeur du factoriel de ce nombre.

Correction exercice 9 :

import java.util.Scanner;
class Q9
{
public static void main( String args [])
throws Exception
{
Scanner sc = new Scanner (System.in);
int nbre, fact=1;
do
{
System.out.println("Entrez un nombre positif non null");
nbre=sc.nextInt();
}while(nbre<=0);
Q19 q= new Q19();
System.out.println ("Le factoriel de " + nbre + " est : " + q.fact(nbre));
}

int fact(int nbre)
{
int fact=1;
for(int i=1;i<=nbre;i++)
{
fact=fact*i;
}
return fact;
}
}


EXERCICE 10 : (combinaison de p dans n )

Ecrire un programme qui demande à l’utilisateur de saisir deux entiers positifs non nuls
p et n. p étant bien sûr inférieur à n. Puis le programme affiche la combinaison de p dans n.

Rappel : combinaison de p dans n = factoriel de n divisé par (factoriel de p multiplié par factoriel de n moins p) = n!/p! * (n-p)!

Correction exercice 10 :

import java.util.Scanner;
class Q10
{
public static void main( String args [])
throws Exception
{
Scanner sc = new Scanner(System.in);
int p, n,combinaison, factn=1, factp=1,factpn=1;
do
{
System.out.println("Entrez n un nombre positif non null");
n=sc.nextInt();
}while(n<=0);

do
{
System.out.println("Entrez p un nombre positif non null et inférieur à n :");
p=sc.nextInt();
}while(p<=0 || p>n);

for(int i=1; i<=n;i++)
{
factn=factn*i;
}
for(int i=1; i<=p;i++)
{
factp=factp*i;
}
for(int i=1; i<=(n-p);i++)
{
factpn=factpn*i;
}
combinaison = factn/(factp*factpn);
System.out.println ("La combinaison de p dans n est : " + combinaison);
}
}

Exercices corrigés java : série 1 de 10 exercices

Exercices corrigés en java :

EXERCICE 1 : (afficher une saisie)
Ecrire un programme qui demande à l’utilisateur de saisir un nom au clavier. Puis le programme affiche bonjour suivi du nom de la personne

Correction exercice 1 :

import java.util.Scanner;
class Bonjour
{
public static void main( String args [])
throws Exception
{
System.out.println ("Entrez votre nom svp!");
Scanner sc=new Scanner(System.in);
String St= sc.nextLine();
System.out.println("Bonjour " + St);

}
}


EXERCICE 2 : (afficher une saisie )

Ecrire un programme qui demande à l'utilisateur de saisir le mot monsieur ou madame. Ensuite, il devra saisir son nom. Puis le programme affiche Bonjour suivi de monsieur ou madame selon la saisie suivi du nom saisi

Correction exercice 2 :

import java.util.Scanner;
class Bonjour_Mr_Mme
{
public static void main( String args [])
throws Exception
{
System.out.println ("Entrez Votre civilite svp");
Scanner sc=new Scanner(System.in);
String civilite= sc.nextLine();
String nom=sc.nextLine();
System.out.println("Bonjour " + civilite + " " + nom);

}
}



EXERCICE 3 : (afficher une table de multiplication)
Ecrire un programme qui demande à l’utilisateur d’entrer un nombre entier. Puis le programme affiche la table de multiplication de ce nombre de 0 à 10

Correction exercice 3 :

import java.util.Scanner;
class TableMulti
{
public static void main( String args [])
throws Exception
{
System.out.println ("Entrez l'entier souhaité");
Scanner sc=new Scanner(System.in);
int nbre= sc.nextInt();
for( int i =0 ; i<=10;i++)
{
System.out.println(i*nbre);
}

}
}

EXERCICE 4 : (utiliser l’instruction continue )

Ecrire un programme qui affiche l’inverse des nombres entiers allant de -3 à +3.

Correction exercice 4 :

import java.util.Scanner;
class TableMulti
{
public static void main( String args [])
throws Exception
{
for( float i =-3 ; i<=3;i++)
{
if (i!=0) System.out.println(1/i);
}

}
}



EXERCICE 5 : (afficher le carré d’une série de nombres)

Ecrire un programme qui affiche le carré des nombres entiers pairs allant de 0 à 10 inclus.

Correction exercice 5 :

import java.util.Scanner;
class TableMulti
{
public static void main( String args [])
throws Exception
{
for( int i =0 ; i<=10;i+=2)
{
if (i!=0) System.out.println(i*i);
}

}
}


EXERCICE 6 : (mettre fin au programme grâce à une saisie )

Ecrire un programme qui demande à l’utilisateur d’entrer une chaîne de caractère, puis le programme affiche cette chaîne. Ainsi de suite ! Le programme s’arrête seulement si l’utilisateur entre la chaîne « end «. A ce moment, le programme affiche : fin du programme.

Correction exercice 6 :

import java.util.Scanner;
class Bonjour
{
public static void main( String args [])
throws Exception
{
Scanner sc = new Scanner(System.in);
do
{
String st= sc.nextLine();
System.out.println(st);
if (st.equals("end"))
{
System.out.println("fin du programme");
break;
}
}while(true);
}
}

EXERCICE 7 : ( le maximum d'une série de valeurs entrées au clavier )

Ecrire un programme qui demande à l’utilisateur de saisir une série de nombres entiers positifs. Pour arrêter la saisie, on entre la valeur zéro. Puis le programme affiche la plus grande des valeurs.

Correction exercice 7 :

import java.util.Scanner;
class Max
{
public static void main( String args [])
throws Exception
{
Scanner sc = new Scanner(System.in);
int max=0, entier;
do
{
entier= sc.nextInt();
if (entier>=0)
{
if (entier>max)
{
max=entier;
}
}
}while(entier!=0);
System.out.println ("Le nombre max est : " + max);
}
}


EXERCICE 8 : (le minimum d’une série de valeurs)

Ecrire un programme qui demande à l'utilisateur de saisir une série de nombres entiers positifs. Pour arrêter la saisie, on entre la valeur zéro. Puis le programme affiche la plus petite des valeurs.

Correction exercice 8 :

import java.util.Scanner;
class Min
{
public static void main( String args [])
throws Exception
{
Scanner sc = new Scanner(System.in);
int min=0, entier;
entier= sc.nextInt();
min=entier;
while(entier!=0)
{
entier= sc.nextInt();
if (entier>=0)
{
if (entier<min && entier>0)
{
min=entier;
}
}
}
System.out.println ("Le nombre min est : " + min);
}
}


EXERCICE 9 : (somme d’une série de valeurs entrées au clavier)

Ecrire un programme qui demande à l’utilisateur de saisir une série de nombres entiers positifs. Pour arrêter la saisie, on entre la valeur zéro. Puis le programme affiche la somme des valeurs.

Correction exercice 9 :

import java.util.Scanner;
class Somme
{
public static void main( String args [])
throws Exception
{
Scanner sc = new Scanner(System.in);
int somme=0, entier;
entier= sc.nextInt();

if (entier>=0)
{
somme+=entier;
}

while(entier!=0)
{
entier= sc.nextInt();
if (entier>=0)
{
somme+=entier;
}
}
System.out.println ("La somme est : " + somme);
}
}


EXERCICE 10 : (moyenne d’une série de valeurs entrées au clavier)

Ecrire un programme qui demande à l’utilisateur de saisir une série de nombres réels non nuls. Pour arrêter la saisie, on entre la valeur zéro. Puis le programme affiche la moyenne des valeurs. Attention, la valeur zéro entrée pour terminer la saisie ne fera pas partie de la saisie.

Correction exercice 10 :

import java.util.Scanner;
class Moyenne
{
public static void main( String args [])
throws Exception
{
Scanner sc = new Scanner(System.in);
double moyenne=0, reel=0;
int nbre=0;
reel= sc.nextDouble();

if (reel>=0)
{
moyenne+=reel;
nbre++;
}

while(reel!=0)
{
reel= sc.nextDouble();
if (reel>=0)
{
moyenne+=reel;
nbre++;
}
}
System.out.println (moyenne);
System.out.println (nbre);
moyenne=moyenne/nbre;
System.out.println ("La moyenne est : " + moyenne);
}
}