0% ont trouvé ce document utile (0 vote)
21 vues4 pages

Corrigé TP02 : Manipulations Java

Ce document présente deux exercices de programmation Java. Le premier exercice contient des méthodes pour inverser une chaîne, vérifier si une sous-chaîne est contenue dans une chaîne, compter les occurrences d'une lettre et compter les voyelles. Le deuxième exercice calcule les prix de trajets entre des villes marocaines en utilisant des tableaux.

Transféré par

Laila Moufakker
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
21 vues4 pages

Corrigé TP02 : Manipulations Java

Ce document présente deux exercices de programmation Java. Le premier exercice contient des méthodes pour inverser une chaîne, vérifier si une sous-chaîne est contenue dans une chaîne, compter les occurrences d'une lettre et compter les voyelles. Le deuxième exercice calcule les prix de trajets entre des villes marocaines en utilisant des tableaux.

Transféré par

Laila Moufakker
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

Corrigé de TP02

Exercice 1 :

import [Link];

public class Exercice1 {

// Manipulation des chaines de caractères

public static void main(String[] args) {

Scanner sc=new Scanner([Link]);


[Link]("Entrer le texte à inverser");
String s = [Link]();
[Link]("l'inverse de la chaine est : " +
inverseChaine(s));
[Link]("Entrer la grande chaine : ");
String s1= [Link]();
[Link]("Entrer la sous chaine : ");
String s2= [Link]();
if(sousChaine(s1,s2)==true)
[Link]("s2 : " + s2 + " est une sous chaine
de s1 : "+ s1);
else
[Link]("s2 n'est pas une sous chaine de s1");
compteLettre();
presenceVoyelle();
}

public static String inverseChaine(String s){


String reverse="";
for(int i=[Link]()-1;i>=0;i--)
reverse = reverse + [Link](i);
return reverse;
}
public static boolean sousChaine(String s1, String s2){

int s1Length = [Link]();


int s2Length = [Link]();

for (int i = 0; i <= s1Length - s2Length; i++) {


int j = 0;
for (j = 0; j < s2Length; j++) {
if ([Link](i + j) != [Link](j)) {
break;
}
}
if (j == s2Length) {
return true;
}
}
return false;
// vous pouvez comparer s1 et s2 en utilisant la méthode
substring(int d,int f)
}
public static void compteLettre(){
Scanner sc=new Scanner([Link]);
[Link]("Entrer la phrase : ");
String s= [Link]();
int cp=0;
s=[Link]();
[Link]("Entrer la lettre à chercher : ");
String p= [Link]();
for(int i = 0;i<[Link]();i++)
if([Link](i)==[Link](0))
cp++;
if(cp!=0)
s=[Link]([Link](0), '*');
[Link]("Le nombre de la lettre " + [Link](0) + " est :
"+cp);
[Link]("La chaine finale inversée est : " +
inverseChaine(s));
}
public static void presenceVoyelle(){
Scanner sc=new Scanner([Link]);
[Link]("Entrer la phrase pour compter ses voyelles : ");
String s= [Link]();
char[] text = [Link]();
char[] voy = {'a','e','i','o','u','y'};
int[] nbVoy = {0,0,0,0,0,0};
for(int i=0;i<[Link];i++)
for(int j=0;j<[Link];j++){
if(text[i]== voy[j]){
nbVoy[j]++;
break;
}
}
for(int i =0; i<[Link];i++)
[Link]("Le nombre de voyelle " + voy[i]+ " est bien
: "+ nbVoy[i]);
}
}

Exercice 2 :

package exercice2;
public class TranspCar {

//Déclaration des tableaux


String[] villes =
{"Fes","Meknes","Kenitra","Rabat","Casablanca","Marrakech"};
int[] prixTronçon
= {25,50,20,35,90};

//Méthode pour trouver l'indice d'une ville dans le tableau des


villes
public int indiceVille(String ville) {
int indice=-1;
for(int i=0;i<[Link];i++) {
if(villes[i].equals(ville)){
indice=i;
break;
}
}
return indice;
}

// Méthode pour le calcul du prix du trajet


public int prixTrajet(String départ,String arrivée) {
int prix=0;
int i=indiceVille(départ);
int j=indiceVille(arrivée);

if(i<j)
for(int k=i;k<j;k++)
prix=prix+prixTronçon[k];
else
for(int k=j; k<i;k++)
prix=prix+prixTronçon[k];

/*Ou bien utiliser cette boucle :


for(int k=i-1; k>=j;k--)
prix=prix+prixTronçon[k];*/

return prix;
}

// Méthode pour le calcul du prix réduit du trajet


public double prixReduit(String départ,String arrivée) {
double prix=0.0;
int i=indiceVille(départ);
int j=indiceVille(arrivée);
int n=0;
if(i<j)
for(int k=i;k<j;k++){
prix=prix+(prixTronçon[k]-prixTronçon[k]*0.1*n);
n++;
}
else
for(int k=j; k<i;k++){
prix=prix+(prixTronçon[k]-prixTronçon[k]*0.1*n);
n++;
}

return prix;
}

public static void main(String[] args) {


TranspCar car=new TranspCar();
[Link]("Le prix du trajet Fes - Rabat est : "+
[Link]("Fes","Rabat")+" Dhs");
[Link]("Le prix du trajet Rabat - Fes est : "+
[Link]("Rabat","Fes")+" Dhs");

[Link]("Le prix réduit du trajet Meknes - Marrakech


est : "+ [Link]("Meknes","Marrakech")+" Dhs");
[Link]("Le prix réduit du trajet Marrakech - Meknes
est : "+ [Link]("Marrakech","Meknes")+" Dhs");
}
}

Vous aimerez peut-être aussi