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
Solution :
Solution :
L’orienté objet en langage JAVA
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]+" "); }}
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()); }}
Trop sympa vos idées
RépondreSupprimeraidera les nuls à s'entraîner dès le départ
merci dada
RépondreSupprimerÉcrire un programme qui traite un vecteur de nombres entiers C++ aidez moi je suis nul
RépondreSupprimerCe commentaire a été supprimé par l'auteur.
Supprimerles vecteurs en c++ se sont des :
SupprimerÉ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;
}
Ce commentaire a été supprimé par l'auteur.
RépondreSupprimermercic super
RépondreSupprimer