Vous êtes sur la page 1sur 6

Institut Supérieur d'informatique

Mr Ben Rkaya Moez & Mme Boulifa Nadia


Programmation JAVA
Filière :2 CS

Corrigé TP n02
Rappel
Afin de faire interagir l’utilisateur avec son clavier, java est doté d’une classe spéciale
nommée Scanner. Pour utiliser cette classe vous devez :
- Importer le package java. util.Scanner
- Faire une instanciation : Scanner obj = new Scanner(System.in) ;
Pour récupérer les données saisies , il faut faire appel sur l’objet obj aux méthodes décrites ci -dessous.
Ces méthodes parcourent la donnée suivante lue sur l’entrée et la retourne :
- String next() donnée de la classe St ring qui forme un mot.
- String nextLine() donnée de la class e String qui forme une ligne.
- boolean nextBoolean() donnée booléenne.
- int nextInt() donnée entière de type int.
- double nextDouble() donnée réelle de type double.

Exercice 1
package com.java.serie1;
import java.util.Scanner;
public class Parite {

public static Boolean parite(int n) {


return(n%2==0);
}
public static void main(String[] args) {
Scanner obj = new Scanner(System.in);
System.out.print("Tapez un entier: ");
int valeur = obj.nextInt();
if (parite(valeur))
System.out.print("Entier pair");
else
System.out.print("Entier impair");
obj.close();
}
}

Exercice 2
package com.java.serie1;
import java.util.Scanner;
public class NombrePairInferieur {
public static void main(String[] args) {
System.out.println("Veuillez saisir la valeur de n");
Scanner obj=new Scanner(System.in);
int n=obj.nextInt();
int j=0;
for(int i=0;i<=n;i++){
if(i%2==0){
System.out.println(i+" est un nombre pair inférieur ou égale à " +n);
j+=1;
}
}
Page 1|6
Institut Supérieur d'informatique
Mr Ben Rkaya Moez & Mme Boulifa Nadia
Programmation JAVA
Filière :2 CS
System.out.println("Le nombre d'entiers pair inférieur ou égale à " +n +" est : " +j);
obj.close();
}
}

Exercice 3
package com.java.serie1;
import java.util.Scanner;
import java.lang.Math;
public class Cubique {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n;
do
{
System.out.print("Entrez un nombre composé de 3 chiffres ");
n = sc.nextInt();
}
while(n<100 || n>999);
int a = n / 100;
int b = (n % 100) / 10;
int c = n % 10;
int somme = (int)Math.pow(a, 3)+(int)Math.pow(b, 3)+(int)Math.pow(c, 3);
if(somme==n)
System.out.println(n + " est cubique");
else
System.out.println(n + " n'est cubique");
sc.close();
}
}

Exercice 4
package com.java.serie1;
public class premier {
public static int check(int n) {
int nbdiviseur = 2;
for (int i = 2; i < n/2; i++) {
if (n % i == 0) {
nbdiviseur++;
}
}
return nbdiviseur;
}

public static void main(String[] args) {


int n = Integer.parseInt(args[0]);
if(check(n)>2)
System.out.print(n+ " premier");
else
System.out.print(n+ " non premier");
}
}

Exercice 5
package com.java.serie1;
public class Tableau {
static final int VIDE = -1;

Page 2|6
Institut Supérieur d'informatique
Mr Ben Rkaya Moez & Mme Boulifa Nadia
Programmation JAVA
Filière :2 CS
static void afficheTableau(int []t)
{
System.out.println("affichage avec boucle for");
for(int i=0;i<t.length;i++)
{
System.out.print(t[i]+ "|");
}
}
static void afficheTableau2(int []t)
{
System.out.println("\naffichage avec boucle for-each");
for(int val:t)
{
System.out.print(val+ "|");
}
}
static void afficheTableau3(int[] t) {
int i = 0;
System.out.println("\naffichage des élèments non vides");
while (i < t.length && t[i] != VIDE) {
System.out.print(t[i] + "|");
i++;
}
}
static void initialise(int[] t)
{
for (int i = 0; i < t.length; i++) {
t[i] = VIDE;
}
}
static boolean ajouterElement(int[]t, int elem)
{
// Trouver la 1ère place vide pour ajouter l'élément
int i = 0;
while (i < t.length && t[i] != VIDE) {
i++;
}
if (i == t.length) {
return false;
}
t[i] = elem;
return true;
}
static int rechercher(int[] t, int elem) {
int i = 0;
while (i < t.length && t[i] != VIDE) {
if (t[i] == elem) {
return i;
}
else {
i++;
}
}
return -1;
}
static int supprimer(int[] t, int elem) {
int i = rechercher(t, elem);
if (i == -1) { return -1; }
/* L'élément a bien été trouvé. S'il y a des éléments non vides à sa droite, il faut les tasser*/
int result = i; // valeur à renvoyer à la fin
Page 3|6
Institut Supérieur d'informatique
Mr Ben Rkaya Moez & Mme Boulifa Nadia
Programmation JAVA
Filière :2 CS
int borne = t.length - 2;
while (i < borne && t[i + 1] != -1) {
// décaler la valeur vers le début du tableau
t[i] = t[i + 1];
i++;
}
/* Si on n'est pas à la fin du tableau il faut vider la dernière case non vide*/
if (i < t.length - 1) {
t[i] = VIDE;
}
return result;
}
public static void main(String[] args) {
int[] t = {1, 2, 3, 4, -1, -1};
afficheTableau(t);
afficheTableau2(t);
afficheTableau3(t);
initialise(t);
if(ajouterElement(t, 8))
afficheTableau(t);
else
System.out.println("tableau plein");
System.out.println();
int valeurCherche = 4;
int i = rechercher(t, valeurCherche);
if(i!=-1)
System.out.println(valeurCherche + " est en position " + i);
else
System.out.println(valeurCherche + " n'existe pas");
int valeurASupprimer = 14;
supprimer(t, valeurASupprimer);
afficheTableau(t);
}
}

Rappel
Une chaîne est peut-être considérée comme une variable du langage Java et est déclarée à l’aide de
l’instruction String.
String maChaine = "bonjour" ; //déclaration d'une chaine de caractère nommée maChaine et de
valeur = "bonjour"
D’une façon plus générale, une chaine de caractère est un objet associé à la classe String
String maChaine = new String("bonjour");
Les méthodes populaires associées à la classe String sont :
- char charAt(int index) : Retourne le caractère qui se trouve à index.
- int compareTo(String chaine_a_comparer) : Compare deux String alphabétiquement.
- int compareToIgnoreCase(String chaine) : Compare deux String alphabétiquement, en ignorant
la casse.
- int length() : Retourne la taille de la String .
- String substring(int debut) : Retourne une nouvelle String qui contient les caractères compris
entre debut et la fin de la String.
- String substring(int debut, int fin) : Retourne une nouvelle String qui contient les c aractères
compris entre debut et fin.
- String toLowerCase() : Convertit l’ensemble des caractères en minuscules.

Page 4|6
Institut Supérieur d'informatique
Mr Ben Rkaya Moez & Mme Boulifa Nadia
Programmation JAVA
Filière :2 CS
- String toUpperCase() : Convertit l’ensemble des caractères en majuscules.
- String trim() : Retourne la String sans les espaces au début et à la fin.

Exercice 6
package com.java.serie1;
import java.util.Scanner;
public class Voyelle {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int comp[] = new int[6];
System.out.print("Give a sentence or word: ");
String mot = sc.nextLine().toUpperCase();
for (int i = 0; i < mot.length(); i++) {
switch (mot.charAt(i)) {
case 'A': comp[0]++; break;
case 'E': comp[1]++; break;
case 'I': comp[2]++; break;
case 'O': comp[3]++; break;
case 'U': comp[4]++; break;
case 'Y': comp[5]++;break;
}
}
System.out.println(comp[0] + " fois la lettre a");
System.out.println(comp[1] + " fois la lettre e");
System.out.println(comp[2] + " fois la lettre i");
System.out.println(comp[3] + " fois la lettre o");
System.out.println(comp[4] + " fois la lettre u");
System.out.println(comp[5] + " fois la lettre y");
sc.close();
}
}

Exercice 7
package com.java.serie1;
public class Inverse {

public static String reverseChaine(String str) {


String res = "";
for (int i = 0; i < str.length(); i++) {
res += str.charAt(str.length() - i - 1);
}
return res;
}
public static void main(String[] args) {
String rev = reverse("soyez les bienvenus.");
System.out.print(rev);
}
}
Exercice 8
package com.java.serie1;
public class Palindrome {

public static boolean isPalindrome(String str) {

Page 5|6
Institut Supérieur d'informatique
Mr Ben Rkaya Moez & Mme Boulifa Nadia
Programmation JAVA
Filière :2 CS
int pos1 = 0;
int pos2 = str.length() - 1;
while (pos2 > pos1) {
if (str.charAt(pos1) != str.charAt(pos2)) {
return false;
}
++pos1;
--pos2;
}
return true;
}
public static void main(String[] args) {
String str = "libil";
System.out.print(isPalindrome(str));
}
}

Page 6|6

Vous aimerez peut-être aussi