Accéder au contenu principal

Articles

Affichage des articles du février 22, 2018

Exercice3: Ecrivez un programme Geometrie qui permet à l'utilisateur d'entrer les coordonnées (x, y) des sommets d'un triangle. Le programme affiche ensuite le périmètre du triangle ainsi qu'un message indiquant s'il s'agit d'un triangle isocèle. Votre programme doit être orienté objet.

/**  *  */ package tp2; /**  * @author pirate  *  */ public class Point { float x; float y; public Point(float x, float y) { super(); this.x = x; this.y = y; } public float getX() { return x; } public void setX(float x) { this.x = x; } public float getY() { return y; } public void setY(float y) { this.y = y; } public Point() { this.x=0; this.y=0; } public double distance(Point point1,Point point2){ double n=Math.sqrt(Math.pow(Math.abs(point1.x-point2.x),2)+Math.pow(Math.abs(point1.y-point2.y),2)); return n; } } package tp2; import java.util.Scanner; import tp2.Point; public class triangle {   Point p1,p2,p3; public Point getP1() { return p1; } public void setP1(Point p1) { this.p1 = p1; } public Point getP2() { return p2; } public void setP2(Point p2) { this.p2 = p2; } pu

Il s'agit de modéliser un segment de droite dont les valeurs des deux extrémités sont entières. Si on échange les deux extrémités, on considère qu'il s'agit encore du même segment. La classe Segment comporte les méthodes suivantes un constructeur de ce segment recevant en argument les deux valeurs entières des extrémités du segment que l'on veut construire une méthode retournant la longueur du segment une méthode nommée ordonne échangeant éventuellement les valeurs des extrémités du segment de telle sorte que la valeur de extr1 soit au plus égale à la valeur de extr2 une méthode testant si un entier donné se trouve sur le segment (c'est dire s'il est compris entre la plus petite et la plus grande valeur des extrémités du segment). public String toString() :Celle ci décrira une instance de Segment sous la forme d'une chaîne de caractères (par exemple, le segment d'extrémités 35 et 44 pourra être transformé en la chaîne de caractères : "segment [ 35, 44]") (la plus petite extrémité est toujours indiquée à gauche). Ecrivez aussi une autre classe EssaiSegment comportant la méthode main et permettant de tester les méthodes de la classe Segment

package tp2; public class exo1Segment { int extr1 , extr2; public int getExtr1() { return extr1; } public void setExtr1(int extr1) { this.extr1 = extr1; } public int getExtr2() { return extr2; } public void setExtr2(int extr2) { this.extr2 = extr2; } public exo1Segment(int extr1, int extr2) { super(); this.extr1 = extr1; this.extr2 = extr2; } public exo1Segment() { this.extr1 = 0; this.extr2 = 0; } public int  longueur(){ return (int) Math.sqrt(Math.abs(Math.pow(extr1, 2)+Math.pow(extr2, 2))); } public void  ordone(){ int ech; if(extr1>extr2){ ech=extr1;     extr1=extr2;     extr2=ech;} } public boolean isIn(int x){ if(x>Math.min(extr1, extr2) && x<Math.max(extr1, extr2) ) return true; return false; } public String toString(){ return  "segment ["+Math.min(extr1, extr2)+","+ Math.max(extr1, extr2)+"]"; } }

Exercice2 : Ecrivez une classe Complexe représentant des nombres complexes. Un nombre complexe comporte une partie réelle et une partie imaginaire (partieReelle + partieImaginaire * i . -La classe Complexe doit disposer des constructeurs suivants: Complexe(): constructeur par défaut, Complexe(partieReelle, partieImaginaire),Complexe(Complexe). -Elle doit contenir des accesseurs et mutateurs pour les différents attributs. -additionner au nombre complexe concerné un autre complexe ; on écrira pour cela une méthode d'instance nommée addition qui recevra en paramètre l'autre complexe et qui ne retournera rien. - additionner deux complexes donnés ; on écrira pour cela une méthode statique nommée aussi addition (en utilisant ainsi la possibilité de la surcharge) qui recevra en paramètres les deux nombres complexes à additionner et qui retournera le résultat sous forme d'un objet de type Complexe. -une méthode toString() donnant une représentation d'un nombre complexe (a+b*i). -Ecrivez aussi une classe testComplexe afin de tester la classe Complexe.

package tp2; class Complex {   static float partieReelle ;   static float  partieImaginaire;         public float getPartieReelle() { return partieReelle; } public void setPartieReelle(float partieReelle) { Complex.partieReelle = partieReelle; } public float getPartieImaginaire() { return partieImaginaire; } public void setPartieImaginaire(float partieImaginaire) { Complex.partieImaginaire = partieImaginaire; } Complex(float r, float i) {     partieReelle  = r;      partieImaginaire = i;   } static void additionner(Complex c2) {   partieReelle=partieReelle+Complex.partieReelle;   partieImaginaire=partieImaginaire+Complex. partieImaginaire;   }   static boolean equals(Complex c1, Complex c2) {     return (Math.abs(Complex.partieReelle -Complex.partieReelle ) ==0 &&         Math.abs(Complex. partieImaginaire-Complex.partieReelle )  == 0);   }     static Complex additionner(Complex c

Exercice Ecrire un programme qui demande à l'utilisateur de saisir une adresse e mail. Puis le programme affiche un message lui informant si l'adresse est valide ou non. En supposant qu’une adresse e mail est valide si Le premier caractère n'est pas un chiffre Un seul caractère arobase ( @ ) Au minimum 3 caractères avant le caractère @ Un seul caractère point ( Au moins 5 caractères avant le caractère point. Le caractère point se trouve après le caractère @

import java.util.Scanner; public class Exercice3 { static Scanner sc = new Scanner(System.in); static int count(String s,char c){ int cmp=0; for(int i=0;i<s.length();i++){ if(s.charAt(i)==c)cmp++; } return cmp; } public static void main(String[] args){ String t=sc.nextLine(); String y="ce email est bien valide"; if(t.indexOf('@')<3)y="ce email n'est  valide"; if(t.indexOf('.')<5)y="ce email n'est  valide"; if(t.indexOf('.')<t.indexOf('@'))y="ce email n'est  valide"; if(count(t,'.')!=1)y="ce email n'est  valide"; if(count(t,'@')!=1)y="ce email n'est  valide"; if(Character.isDigit(t.charAt(0)))y="ce email n'est  valide"; System.out.println(y); } }

Exercice2: En mathématiques, le triangle de Pascal, est un arrangement géométrique des coefficients binomiaux dans un triangle. À la ligne i et à la colonne j (0 <= j <= i) est placé le coefficient binomial 2 Le but de ce projet est d'écrire un programme qui demande à l'utilisateur de saisir un entier naturel n, non nul. Puis le programme affiche les n premières lignes du triangle de Pascal.

import java.util.Scanner; class Pascal {     private static Scanner scanner = new Scanner(System.in);     public static void main(String[] args) {         int size;         // On demande la taille         System.out.println("Taille du triangle de Pascal : ");         size = scanner.nextInt();         // Ici on déclare le tableau, mais on ne construit que la première         // dimension         int [][] triangle = new int[size][];         // On construit et initialise la 1ère ligne         triangle[0] = new int[1];         triangle[0][0] = 1;         for (int row = 1; row < size; row++) {             // Chaque ligne du triangle est un tableau à une dimension             // dont la taille est celle de la ligne précédente + 1:             // on construit ces lignes (new) au fur et à mesure que l'on             // progresse dans le tableau             triangle[row] = new int [triangle [row - 1].length + 1];             // Remplissage du tableau:

Exercice1 Ecrivez un programme contenant des méthodes permettant de gérer un tableau d’int tel que Une méthode statique affichTab prend en paramètre un tableau d'int et écrit sur la sortie standard (l'écran) le contenu du tableau ; les données doivent figurer sur une même ligne et on passe à la ligne après la dernière donnée. ne méthode statique nombreDansTableau qui étant donné un nombre entier et un tableau d'entiers, vérifie la présence ou non de cet entier dans ce tableau Une méthode statique nbreEltDansTablo qui, étant donné un nombre entier et un tableau d'entiers, retourne le nombre de fois où l'on trouve cet entier dans ce tableau Une méthode statique tabSansDoublons qui, étant donné un tableau d'entiers, vérifie l'absence de doublons ne méthode statique cardINTERtabs qui , étant donné 2 tableaux d'entiers qu’on suppose sans doublant elle retourne le nombre de valeurs qu'on trouve simultanément dans les 2 tableaux. (le cardinal de l'intersection) ne méthode statique tabINTERtab qui , étant donnés 2 tableaux d'entiers, affiche les valeurs communes aux 2 tableaux ne méthode statique tabDansIntervalle qui, étant donné un tableau d'entiers, vérifie que es valeurs sont comprises entre 1 et 49 Une méthode statique tabloIntHasard qui retourne un tableau de 5 entiers dont les valeurs sont prises au hasard de 1 à 49 n programme qui demande à l'utilisateur de jouer un jeu de loto sur une seule grille. Donc, l'utilisateur saisit 5 numéros. Puis le programme affiche un tirage au hasard de 5 numéros par ordre de sortie, puis affiche le jeu du joueur. Ensuite le programme informe le joueur le nombre de numéros trouvés. Remarque La méthode Math.random() est un passage obligé.

import java.util.*; import java.math.*; public class Exercice1 { public static int[] t=new int[10]; static Scanner sc = new Scanner(System.in); static void affichTab(int[] y){ for(int i=0; i<y.length;i++){ System.out.println(y[i]); } } static void nombreDansTableau(int[] y,int x){ int trouve=0; for(int i=0; i<y.length;i++){ if (y[i]==x) trouve=1; } if(trouve==1) System.out.println("oui existe"); else System.out.println("ne se trouve pas"); } static int nbreEltDansTablo(int[] y,int x){ int compteur=0; for(int i=0; i<y.length;i++){ if (y[i]==x) compteur+=1; } return compteur; } static Boolean tabSansDoublons(int[] y){ Boolean compteur=false; for(int i=0; i<y.length;i++){ if (nbreEltDansTablo( y, y[i])>1) compteur=true; } return compteur; } static int cardINTERtabs(int[] y,int[] x){ int compteur=0; for(int i=0; i<y.le