Pages

samedi 15 février 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);
}
}


Aucun commentaire:

Enregistrer un commentaire

Partenaires

Computers Blogs
Ajoutez votre site

Contactez-nous

Nom

E-mail *

Message *

Tous droits resérvés-www.exercices-corriges.com Seo Blogger Templates