Pages

JAVA


Les outils de base du langage JAVA

Important
1- Math.random() : génère un nombre aléatoire compris entre [0,1[. Si on veut générer un nombre entier aléatoire entre [a,b[, on utilise (int)((b-a)*Math.random()+a)
2- Pour lire un entier à partir du clavier, on utilise :
import java.util.* ;  //Il faut insérer cette ligne juste avant votre classe
Scanner sc=new Scanner(System.in) ; //Déclarer un objet Scanner
int a=sc.nextInt(); //lit un entier à partir du clavier
Exercice 1 :
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 différent au nombre secret, le programme lui indique avec un message, et en lui demandant d’entrer un nouveau nombre. Lorsque l’utilisateur trouve la solution, le programme lui dit qu’il a gagné et en lui indiquant le nombre qu’il lui fallu pour trouver le nombre.
Solution :
Import java.util.* ;
Public class devine {
public static void main(String[] args) {
boolean trouve=false;
int a= (int) (11*Math.random()+1);
int b;
Scanner sc = new Scanner(System.in);
System.out.println("Entrez un entier pour deviner le chiffre secret ! ") ;
b=sc.nextInt() ;
while(trouve== false){
if(a>b)
   System.out.println("Entrez un entier plus grand !: ") ;
Else if(a<b)
  System.out.println("Entrez un entier plus petit") ;
Else
{
System.out.println("BRAVO ! vous avez réussi à trouver le chiffre secret") ;
trouve=true ;
}}}}


Exercice 2 :
Ecrire un programme permettant de résoudre une équation du second degré : ax2 + bx + c =0, avec a,b et c des réels donnés par l’utilisateur.

Solution :
import java.util.*;
public class Equation {
            public static void main(String[] args) {
                        float a,b,c;
                        Scanner sc = new Scanner(System.in);
                        System.out.print("Entrez le premier coefficient:");
                        a=sc.nextFloat();
                        System.out.print("Entrez le deuxième coefficient:");
                        b=sc.nextFloat();
                        System.out.print("Entrez le troisième coefficient:");
                        c=sc.nextFloat();
                        System.out.print("Voici votre équation saisié :");
                        System.out.println(a+"x²"+b+"x"+c);
                        if(a==0){
                                   if(b==0){
                                               if(c==0){
                                                           System.out.println("La soltuion est l'ensemble R"); }
                                               else
                                                           System.out.println("La solution est l'ensemble vide");}
                                   else
                                               System.out.println("La solution est:"+(-c/b));}
                        else {
                                   float d;
                                   d=(b*b)-4*a*c;
                                   if(d>0) {
                                   System.out.println("Solution 1 :"+(-b-Math.sqrt(d))/(2*a));
                                   System.out.println("Solution 2:"+(-b+Math.sqrt(d))/(2*a));}
                                   else
                                               System.out.print("la solution est un nombre complexe"); }}}

Exercice 3 :
Etant donné un tableau de 10 entiers (compris entre 0 et 10) choisis de manière aléatoire. Ecrire un programme Java permettant le plus grand et le plus petit élément du tableau, et pour chaque élément afficher la position.

Solution :
import java.util.*;
public class maxmin {
            public static void main(String[] args) {
                        int t[]=new int[10];
             for(int i=0;i<10;i++){
                         t[i]=(int) (10*Math.random()+0);}
             for(int i=0;i<10;i++){
                         System.out.print(" "+t[i]+" "); }
             int max=t[0], int min=t[0], int pos=t[0], int p=t[0];
                               for(int i=0;i<10;i++){
                         if(t[i]>max){
                                    max=t[i];
                                    pos=i;}
                         if(t[i]<min){
                                    min=t[i];
                                    p=i;}}
             System.out.println("\nle maximim est :"+max+" il es dans la position:"+pos);
             System.out.println("le minimum est :"+min+" il es dans la position:"+p);}}

Exercice 4 :
Etant donné un tableau d’entiers (compris entre -10 et 10) choisis de manière aléatoire. Ecrire un programme pour créer deux tableaux, l’un contenant des éléments positifs et l’autre contenant des éléments négatifs.

Solution
import java.util.Vector;
import java.util.*;
public class tab {
            public static void main(String[] args) {
                        // TODO Auto-generated method stub
                        Vector v2 = new Vector();
                        Vector v1= new Vector();
                        int t[] = new int[10];
                        int pos[]=new int[10];
                        int neg[]=new int[10];
        for(int i=0;i<10;i++){
            t[i]=(int) (20*Math.random()-10); } //Remplir aléatoirement le tableau de -10 à 10
        int i=0,j=0,k=0;
        for(int l=0;l<10;l++)
            System.out.print(" "+t[l]+" ");
            System.out.print("\n");
        for( i=0;i<10;i++){
            if(t[i]>0)
                        v1.add(t[i]);
            else
                        v2.add(t[i]);
        }
        System.out.println(v1.size()+"  "+v2.size());
        for(i=0;i<v1.size();i++)
        System.out.print(" "+v1.get(i)+" "); //Affichage du 1er vecteur des elts positifs
        System.out.print("\n");
        for(i=0;i<v2.size();i++)
            System.out.print(" "+v2.get(i)+" "); //Affichage du deuxième veteur des elts négatifs
       for(i=0;i<10;i++){
               if(t[i]>0){
                           pos[j]=t[i];
                           j=j+1; }
               if(t[i]<0){
                           neg[k]=t[i];
                           k=k+1;} }
       for(i=0;i<j;i++){
            System.out.print(" "+pos[i]+" ");}
        System.out.print("\n");
         for(i=0;i<k;i++){
            System.out.print(" "+neg[i]+" ");}
        System.out.print("\n"); } }
           

Exercice 5 :
A partir de deux tableaux (que vous pouvez remplir à votre guise), créer un tableau à la fois des éléments des éléments des deux tableaux

Solution :
public class Fusion {
            public static void main(String[] args) {
                        int t1[] = new int[10];
                        int t2[] = new int[10];
                        int t[] = new int[30];
                        for(int i=0;i<10;i++){
                                   t1[i]= (int) (9*Math.random()+10);}
                       
                        for(int i=0;i<10;i++){
                                   t2[i]= (int) (9*Math.random()+10);}
                       
                        System.out.print("Le premier tableau:");
                        System.out.print("\n");
                        for(int i=0;i<10;i++)
                                   System.out.print(" "+t1[i]+" ");
                       
                        System.out.print("\nLe deuxième tableau:");
                        System.out.print("\n");
                        for(int i=0;i<10;i++)
                                   System.out.print(" "+t2[i]+" ");
                       
                        for(int i=0;i<10;i++)
                                   t[i]=t1[i];
                           
                        for(int i=0;i<10;i++)
                                   t[i+10]=t2[i];
                       
                        System.out.print("\nLes deux tableaux fusionnés:");
                        System.out.print("\n");
                        for(int i=0;i<20;i++)
                                   System.out.print(" "+t[i]+" "); }}

Exercice 6 :
Créer un tableau d’entier. Insérer un élément dans un tableau. La position d’insertion est donné par l’utilisateur (au début, à la fin et au milieu)

Solution :
public class Insertion {
            public static void main(String[] args) {
                                               Scanner sc=new Scanner(System.in);
                                               int t[] = new int[10],pos,x;
                                               for(int i=0;i<10;i++)
                                               t[i]= (int) (11*Math.random()+11);
                                                 for(int i=0;i<10;i++)
                                               System.out.print(" "+t[i]+" ");
                                               System.out.print("\nEntrez l’élement à inserer : ") ;
                                         x=sc.nextInt() ;   
                                         System.out.print("\nEntrez sa position: ") ;
                                         pos=sc.nextInt();
                                        if(pos<0 || pos>10)
                                        System.out.print("\nla position donnée est hors tableau! ");
                                        else {
                                       for(int i=10;i>pos+1;i--)
                                          t[i]=t[i-1];
                                          t[pos]=x; }
                                        for(int i=0;i<11;i++)
                                                System.out.print(" "+t[i]+" ");}}

Exercice 7 :
Refaire le même programme, mais cette fois ci pour supprimer un élément à partir de son indice. Distinguer le cas ou l’indice n’existe pas dans le tableau

Solution :
import java.util.*;
public class suppression {
            public static void main(String[] args) {
                        Scanner sc=new Scanner(System.in);
                        int t[] = new int[10],pos=0;
                        int trouve=1;
                        for(int i=0;i<10;i++)
                        t[i]= (int) (11*Math.random()+11);
                          for(int i=0;i<10;i++)
                        System.out.print(" "+t[i]+" ");
        System.out.print("\nEntrez l'entier que vous voulez supprimer:");
        int x=sc.nextInt();
       
        for(int i=0;i<10;i++){
            if(t[i]==x)
                         pos=i;
            else trouve=0; }
        if(trouve==0)
            System.out.print("L'élement recherché n'existe pas dans le tableau !");
       
        for(int i=pos;i<9;i++)
            t[i]=t[i+1];
        for(int i=0;i<9;i++)
            System.out.print(" "+t[i]+" ");        }}

L’orienté objet en langage JAVA

Exercice 1 :

1. Ecrire le programme "Banque.java" permettant d'implémenter la classe "Banque"
2. Ecrire un programme "test.java" pour :
· Créer un compte : 1, 5000.75, "AB 1200"
· Afficher les informations de ce compte
· Afficher son solde
· Déposer 500
· Afficher les informations de ce compte
· Afficher son solde
· Retirer 200
· Afficher les informations de ce compte
· Afficher son solde
3. Refaire la question précédente de telle sorte que les informations du compte    
     seront passées en argument

Solution :
public class banque {
            private int NCompte;
            private float Solde;
            private String CIN;
public banque(int NCompte,float Solde,String CIN){
            this.NCompte=NCompte;
            this.Solde=Solde;
            this.CIN=CIN;}
public int getn(){
            return NCompte;}
public void deposer(float Somme){
            Solde=Solde+Somme;}
public void retirer(float Somme){
            if(Solde<Somme)
                         System.out.println("SOLDE INSUFFISANT");
            else
            Solde=Solde-Somme;}
public float avoirSolde(){
            return Solde;}
public String avoirInf(){
            return("N° carte:"+CIN+ "\nsolde:"+Solde + "NCompte"+NCompte);}}
public class test {
            public static void main(String[] args) {
                         banque b = new banque(1,5000,"AB1200");
                         System.out.println(b.avoirInf());
                         System.out.println(b.avoirSolde());
                         b.deposer(500);
                         System.out.println(b.avoirInf());
                         System.out.println(b.avoirSolde());
                         b.retirer(7000);
                         System.out.println(b.avoirInf());
                         System.out.println(b.avoirSolde());}}

Exercice 2 :
Soit la classe prédéfinie dans "java.net"

class InetAddress{
public static InetAddress getLocalHost();
//retourne l'adresse Internet de la machine locale
public static InetAddress getByName(String);
//retourne l'adresse d'un machine à partir de son nom
public String getHostName();
//retourne le nom d'une machine à partir d'une adresse Internet
 }

1-Ecrire un programme "test.java" pour afficher l'adresse Internet et le nom d'une
    machine (locale ou distante). Evoquer le cas où la machine est donnée en   
    argument


Solution :
import java.net.InetAddress;
public class test {
            public static void main(String[] args) throws Exception {
                        // TODO Auto-generated method stub
                        InetAddress adr=InetAddress.getLocalHost();
                        InetAddress adr2=InetAddress.getByName("iga-1");
                        String nom=adr.getHostName();
                        System.out.println("@de la machine local"+adr);
                        System.out.println("@de la machine a"+adr2);
                        System.out.println("le nom de la machine"+adr+"est:"+nom);}}

Exercice 3 :
Soit le diagramme de classes d'UML suivant :

1. Créer les classes "Personne.java" et "Salarie.java", sachant que la prime est
    calculée à la base de la formule suivante : prime = (5*Salaire*Nombred'enfant)/100

2. Ecrire un programme "test1.java" pour tester vos classes

Solution :
public class Personne {
protected int nbEnfants;
protected String nom;
public Personne(int nbEnfants,String nom) {
this.nbEnfants=nbEnfants;
this.nom=nom;}
public String getNom() {
return nom; }
public int getnbEnfants(){
            return nbEnfants; } }

public class Salarie extends Personne {
private float salaire;
public Salarie(int nbEnfants,String nom,float salaire) {
super(nbEnfants,nom);
this.salaire=salaire; }
public String getInf() {
return "le nom:"+super.getNom()+" le nombre d'enfants:"+nbEnfants; }
public float getSalaire(){
return salaire; }
public float getPrime(){
            return (5*salaire*nbEnfants)/100;}}

public class Test {
            public static void main(String[] args) {
                        // TODO Auto-generated method stub
                       
                                   Personne p = new Personne(5,"ali");
                                   Salarie s = new Salarie(5,"ali",15000);
                                   Salarie s1 = new Salarie(2, "amal",5000);
                                   System.out.println(s.getInf());
                                   System.out.println("le salaire:"+s.getSalaire());
                                   System.out.println("la prime:"+s.getPrime());
                                   System.out.println("la prime de:"+s1.getNom()+" "+s1.getPrime()); }}


7 commentaires:

  1. Trop sympa vos idées
    aidera les nuls à s'entraîner dès le départ

    RépondreSupprimer
  2. Écrire un programme qui traite un vecteur de nombres entiers C++ aidez moi je suis nul

    RépondreSupprimer
    Réponses
    1. Ce commentaire a été supprimé par l'auteur.

      Supprimer
    2. les vecteurs en c++ se sont des :
      Éléments stockés côte-à-côte.
      Optimisé pour l'ajout en fin de tableau.
      Éléments indexés par des entiers.

      l'utilisation est très facile :

      Exemple :

      int main(int argc, char ** argv)
      {
      int i;
      vector v=new Vector();
      while(1)
      {
      cout << endl << "Entrez un entier" << endl;
      cin >> i;
      v.push_back(i); // ajout dynamique dans la liste
      cout << "Voici maintenant le contenu de la liste : " << endl;
      for(int i = 0;i<v.size();i++)
      {
      cout << v[i] << endl;

      }
      }
      system("PAUSE");
      return 0;
      }

      Supprimer
  3. Ce commentaire a été supprimé par l'auteur.

    RépondreSupprimer

Partenaires

Computers Blogs
Ajoutez votre site

Contactez-nous

Nom

E-mail *

Message *

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