Compare commits
1 Commits
Author | SHA1 | Date | |
---|---|---|---|
53e82c7673 |
22
Accents.java
22
Accents.java
@ -1,22 +0,0 @@
|
|||||||
import static utils.Utils.*;
|
|
||||||
|
|
||||||
public class Accents {
|
|
||||||
|
|
||||||
private static final String TEST =
|
|
||||||
"Avec la mer du Nord pour dernier terrain vague,\n"+
|
|
||||||
"Et des vagues de dunes pour arrêter les vagues,\n"+
|
|
||||||
"Et de vagues rochers que les marées dépassent,\n"+
|
|
||||||
"Et qui ont à jamais le coeur à marée basse.\n"+
|
|
||||||
"Avec infiniment de brumes à venir\n"+
|
|
||||||
"Avec le vent d'ouest écoutez le tenir\n"+
|
|
||||||
"Le plat pays qui est le mien.\n";
|
|
||||||
|
|
||||||
public static final void main(String[] args) {
|
|
||||||
afficher("Accents");
|
|
||||||
|
|
||||||
char[] test = TEST.toCharArray();
|
|
||||||
afficher(String.valueOf(test));
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,38 +0,0 @@
|
|||||||
import static utils.Utils.*;
|
|
||||||
|
|
||||||
public class Analyse1 {
|
|
||||||
|
|
||||||
public static final void main(String[] args) {
|
|
||||||
afficher("Analyse 1");
|
|
||||||
|
|
||||||
int[] tab1 = new int[] { 12, 0, 5, 21 };
|
|
||||||
afficher("tab1:");
|
|
||||||
maFonction(tab1);
|
|
||||||
|
|
||||||
int[] tab2 = new int[] { 81, 13, 100, 4 };
|
|
||||||
afficher("tab2:");
|
|
||||||
maFonction(tab2);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void maFonction(int[] tab){
|
|
||||||
|
|
||||||
int m1 = 0;
|
|
||||||
int m2 = 0;
|
|
||||||
|
|
||||||
for (int i = 0; i < tab.length; i++) {
|
|
||||||
int n = tab[i];
|
|
||||||
|
|
||||||
if (m1 < n) {
|
|
||||||
m2 = m1;
|
|
||||||
m1 = n;
|
|
||||||
} else if (m2 < n) {
|
|
||||||
m2 = n;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
afficher(m1);
|
|
||||||
afficher(m2);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -13,7 +13,16 @@ public class CesarChiffre {
|
|||||||
// int position(char c): retourne la position de la lettre dans l'alphabet
|
// int position(char c): retourne la position de la lettre dans l'alphabet
|
||||||
// (à partir de 0)
|
// (à partir de 0)
|
||||||
|
|
||||||
return in;
|
char[] out = new char[in.length];
|
||||||
|
for (int i = 0; i<in.length; i++) {
|
||||||
|
char c = in[i];
|
||||||
|
if (c == ' ') {
|
||||||
|
out[i] = c;
|
||||||
|
} else {
|
||||||
|
out[i] = ALPHABET[(position(c)+cle) % ALPHABET.length];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return out;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -13,7 +13,16 @@ public class CesarDechiffre {
|
|||||||
// int position(char c): retourne la position de la lettre dans l'alphabet
|
// int position(char c): retourne la position de la lettre dans l'alphabet
|
||||||
// (à partir de 0)
|
// (à partir de 0)
|
||||||
|
|
||||||
return in;
|
char[] out = new char[in.length];
|
||||||
|
for (int i = 0; i<in.length; i++) {
|
||||||
|
char c = in[i];
|
||||||
|
if (c == ' ') {
|
||||||
|
out[i] = c;
|
||||||
|
} else {
|
||||||
|
out[i] = ALPHABET[(ALPHABET.length+position(c)-cle) % ALPHABET.length];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return out;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
34
Cours.md
34
Cours.md
@ -85,15 +85,6 @@ Une variable de type booléen prend comme valeur VRAI (`true`) ou FAUX (`false`)
|
|||||||
|
|
||||||
Une variable de type entier peut prendre comme valeur l'ensemble des nombres entiers signés. Les opérations associées sont les opérations usuelles `+`, `-`, `*`, `/`.
|
Une variable de type entier peut prendre comme valeur l'ensemble des nombres entiers signés. Les opérations associées sont les opérations usuelles `+`, `-`, `*`, `/`.
|
||||||
|
|
||||||
L'operateur modulo (`%`) permet d'obtenir le reste de la division euclidienne entre 2 entiers.
|
|
||||||
|
|
||||||
a = 5
|
|
||||||
b = 2
|
|
||||||
|
|
||||||
a%b == 1
|
|
||||||
|
|
||||||
5 divisé par 2 est égal à 2 avec un reste de 1
|
|
||||||
|
|
||||||
### Réels
|
### Réels
|
||||||
|
|
||||||
Une variable de type réel peut prendre comme valeur l'ensemble des nombres réels. Les opérations associées sont les opérations usuelles `+`, `-`, `*`, `/`.
|
Une variable de type réel peut prendre comme valeur l'ensemble des nombres réels. Les opérations associées sont les opérations usuelles `+`, `-`, `*`, `/`.
|
||||||
@ -351,28 +342,3 @@ Certains langages sont dédiés à la manipulation de données (lecture, créati
|
|||||||
D'autres langages sont utilisés pour la création de documents (HTML) ou la mise en page (CSS).
|
D'autres langages sont utilisés pour la création de documents (HTML) ou la mise en page (CSS).
|
||||||
|
|
||||||
Certains langages sont dit "embarqués", car ils ne sont pas exécutés directement sur le processeur mais au sein d'un autre logiciel (par exemple javascript dans un navigateur).
|
Certains langages sont dit "embarqués", car ils ne sont pas exécutés directement sur le processeur mais au sein d'un autre logiciel (par exemple javascript dans un navigateur).
|
||||||
|
|
||||||
# Cours java
|
|
||||||
|
|
||||||
Sommaire: https://www.jmdoudoux.fr/java/dej/index.htm
|
|
||||||
|
|
||||||
Chapitres essentiels
|
|
||||||
|
|
||||||
* https://www.jmdoudoux.fr/java/dej/chap-presentation.htm 1.1
|
|
||||||
* https://www.jmdoudoux.fr/java/dej/chap-techniques-base.htm 2.1 (voir plus tard)
|
|
||||||
* https://www.jmdoudoux.fr/java/dej/chap-syntaxe.htm parcourir rapidement, revenir pour les détails
|
|
||||||
* https://www.jmdoudoux.fr/java/dej/chap-poo.htm gros morceau objet, voir en plusieurs fois, avec exercices
|
|
||||||
* https://www.jmdoudoux.fr/java/dej/chap-packages-base.htm packages de bases, filtrer les classes utiles
|
|
||||||
* https://www.jmdoudoux.fr/java/dej/chap-math.htm maths, pas indispensable
|
|
||||||
* https://www.jmdoudoux.fr/java/dej/chap-exceptions.htm exceptions, important
|
|
||||||
* https://www.jmdoudoux.fr/java/dej/chap-jdk1.5.htm spécificités java 5, voir rapidement, revenir après collections
|
|
||||||
* https://www.jmdoudoux.fr/java/dej/chap-annotations.htm voir plus tard
|
|
||||||
* https://www.jmdoudoux.fr/java/dej/chap-java7.htm specificités java 7, voir rapidement
|
|
||||||
* https://www.jmdoudoux.fr/java/dej/chap-lambdas.htm voir plus tard
|
|
||||||
* https://www.jmdoudoux.fr/java/dej/chap-collections.htm collections
|
|
||||||
|
|
||||||
Autres sujets:
|
|
||||||
|
|
||||||
* https://www.jmdoudoux.fr/java/dej/chap-normes-dev.htm normes de développement, utile à connaître
|
|
||||||
* https://www.jmdoudoux.fr/java/dej/chap-utilisation_dates.htm dates, voir surtout la nouvelle API
|
|
||||||
* https://www.jmdoudoux.fr/java/dej/partie15.htm tests unitaires, voir principalement Junit4/5
|
|
||||||
|
93
Exercices.md
93
Exercices.md
@ -97,103 +97,16 @@ Exemple:
|
|||||||
|
|
||||||
## Exercice 7
|
## Exercice 7
|
||||||
|
|
||||||
Pour 2 entiers donnés (n et p), retourner la somme des entiers entre ces 2 entiers (compris).
|
|
||||||
|
|
||||||
Exemples:
|
|
||||||
|
|
||||||
n = 3
|
|
||||||
p = 7
|
|
||||||
|
|
||||||
somme = 3 + 4 + 5 + 6 +7 = 25
|
|
||||||
|
|
||||||
=> Somme2.java
|
|
||||||
|
|
||||||
## Exercice 8
|
|
||||||
|
|
||||||
Écrire un programme qui affiche les nombres de 1 à 199. Mais pour les multiples de 3, afficher “Fizz” au lieu du nombre et pour les multiples de 5 afficher “Buzz”. Pour les nombres multiples de 3 et 5, afficher “FizzBuzz”.
|
|
||||||
|
|
||||||
Exemple:
|
|
||||||
|
|
||||||
1
|
|
||||||
2
|
|
||||||
Fizz
|
|
||||||
4
|
|
||||||
Buzz
|
|
||||||
Fizz
|
|
||||||
7
|
|
||||||
8
|
|
||||||
Fizz
|
|
||||||
Buzz
|
|
||||||
11
|
|
||||||
Fizz
|
|
||||||
13
|
|
||||||
14
|
|
||||||
FizzBuzz
|
|
||||||
...
|
|
||||||
|
|
||||||
=> FizzBuzz.java
|
|
||||||
|
|
||||||
## Exercice 9
|
|
||||||
|
|
||||||
Que fait maFonction dans Analyse1.java?
|
|
||||||
|
|
||||||
## Exercice 10
|
|
||||||
|
|
||||||
Afficher la suite de Fibonacci.
|
|
||||||
|
|
||||||
Il s’agit d’une suite de nombres dans laquelle tout nombre (à partir du troisième) est égal à la somme des deux précédents:
|
|
||||||
|
|
||||||
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89,…
|
|
||||||
|
|
||||||
Écrire ensuite une solution avec une fonction récursive.
|
|
||||||
|
|
||||||
=> Fibonacci.java
|
|
||||||
|
|
||||||
## Exercice 11
|
|
||||||
|
|
||||||
Convertir un nombre romain en entier (avec "chiffre" romains I, V et X).
|
|
||||||
|
|
||||||
=> Romain.java
|
|
||||||
|
|
||||||
## Exercice 12
|
|
||||||
|
|
||||||
Remplacer tous les caractères accentués par caractères non accentués.
|
|
||||||
|
|
||||||
=> Accents.java
|
|
||||||
|
|
||||||
## Exercice 13
|
|
||||||
|
|
||||||
Chiffre de César:
|
Chiffre de César:
|
||||||
|
|
||||||
Le texte chiffré s'obtient en remplaçant chaque lettre du texte clair original par une lettre à distance fixe, toujours du même côté, dans l'ordre de l'alphabet. Pour les dernières lettres (dans le cas d'un décalage à droite), on reprend au début. Par exemple avec un décalage de 3 vers la droite, A est remplacé par D, B devient E, et ainsi jusqu'à W qui devient Z, puis X devient A etc.
|
Le texte chiffré s'obtient en remplaçant chaque lettre du texte clair original par une lettre à distance fixe, toujours du même côté, dans l'ordre de l'alphabet. Pour les dernières lettres (dans le cas d'un décalage à droite), on reprend au début. Par exemple avec un décalage de 3 vers la droite, A est remplacé par D, B devient E, et ainsi jusqu'à W qui devient Z, puis X devient A etc.
|
||||||
|
|
||||||
=> CesarChiffre.java CesarDechiffre.java
|
|
||||||
|
|
||||||
## Exercice 14
|
|
||||||
|
|
||||||
Tester si un mot est un palindrome. Un palindrome est un mot qui peut se lire dans les 2 sens: été, ici, colloc
|
|
||||||
|
|
||||||
## Exercice 15
|
|
||||||
|
|
||||||
Vérification ISBN à 13 caractères:
|
|
||||||
|
|
||||||
Retirer les tirets, ajouter tous les chiffres en multipliant successivement par 1 puis 3. Le résultat doit être un multiple de 10.
|
|
||||||
|
|
||||||
Exemple:
|
|
||||||
|
|
||||||
978-2-3793-1012-6
|
|
||||||
9x1 + 7x3 + 8x1 + 2x3 + 3x1 + 7x3 + 9x1 + 3x3 + 1x1 + 0x3 + 1x1 + 2x3 + 6x1 = 100
|
|
||||||
|
|
||||||
=> Isbn.java
|
|
||||||
|
|
||||||
# Idées
|
# Idées
|
||||||
|
|
||||||
* Chiffrement de César
|
* Chiffrement de César
|
||||||
* Somme des entiers entre 2 entiers donnés
|
|
||||||
* FizzBuzz
|
|
||||||
|
|
||||||
* mot palindrome
|
|
||||||
* cle IBAN
|
|
||||||
* Chiffrement de Vigenere
|
* Chiffrement de Vigenere
|
||||||
* Factoriel
|
* Factoriel
|
||||||
* Nombre d'occurrences d'un mot dans un texte
|
* Nombre d'occurrences d'un mot dans un texte
|
||||||
|
* Somme des entiers entre 2 entiers donnés
|
||||||
|
* FizzBuzz
|
||||||
|
|
||||||
|
@ -1,43 +0,0 @@
|
|||||||
# Exercices java
|
|
||||||
|
|
||||||
## Bases classe/objet
|
|
||||||
|
|
||||||
### Bonjour
|
|
||||||
|
|
||||||
* Créer un programme java qui affiche "Bonjour", appeler la classe principale `Application`.
|
|
||||||
|
|
||||||
### Classe et objet
|
|
||||||
|
|
||||||
* Créer une classe `Personne` vide. Créer un objet de cette classe dans la classe `Application`.
|
|
||||||
|
|
||||||
### Constructeur
|
|
||||||
|
|
||||||
* Ajouter un constructeur à la classe `Personne`, et lui faire afficher "Constructeur!".
|
|
||||||
|
|
||||||
### Constructeurs multiples
|
|
||||||
|
|
||||||
* Ajouter un autre constructeur à la classe `Personne`, prenant en paramètre une chaine de caractères `nom`.
|
|
||||||
* Faire afficher le paramètre `nom` par le constructeur.
|
|
||||||
* Modifier la classe `Application` pour utiliser ce constructeur.
|
|
||||||
|
|
||||||
### Variable d'instance
|
|
||||||
|
|
||||||
* Ajouter à la classe `Personne` une variable d'instance `nom`.
|
|
||||||
* Dans le second constructeur, valoriser la variable d'instance avec le paramètre, et supprimer l'affichage.
|
|
||||||
|
|
||||||
### Méthodes
|
|
||||||
|
|
||||||
* Ajouter à la classe `Personne` une méthode `ecrireNom`, qui affiche `Mon nom est ` puis la valeur de la variable d'instance `nom`.
|
|
||||||
* Appeler cette méthode depuis `Application`.
|
|
||||||
|
|
||||||
### Getters/setters
|
|
||||||
|
|
||||||
* Ajouter à la classe `Personne` les getter/setter pour l'attribut `nom`.
|
|
||||||
* Modifier la classe `Application` pour changer le nom, avant l'appel à `ecrireNom`.
|
|
||||||
|
|
||||||
### Composition
|
|
||||||
|
|
||||||
* Créer une classe `Cerveau`.
|
|
||||||
* Ajouter un constructeur à cette classe qui affiche "Réflexion...".
|
|
||||||
* Ajouter un attribut `cerveau` de type `Cerveau` à la classe `Personne`.
|
|
||||||
* Initialiser cet attribut dans le constructeur avec `nom`.
|
|
@ -1,37 +0,0 @@
|
|||||||
import static utils.Utils.*;
|
|
||||||
|
|
||||||
public class Fibonacci {
|
|
||||||
|
|
||||||
public static final void main(String[] args) {
|
|
||||||
afficher("Fibonacci");
|
|
||||||
/*
|
|
||||||
int valeurPrecedente=0;
|
|
||||||
int valeur = 1;
|
|
||||||
|
|
||||||
afficher(valeurPrecedente);
|
|
||||||
|
|
||||||
|
|
||||||
while (valeur<=100){
|
|
||||||
afficher(valeur);
|
|
||||||
int nouvelleValeur = valeur+valeurPrecedente;
|
|
||||||
valeurPrecedente=valeur;
|
|
||||||
valeur=nouvelleValeur;
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
afficher(0);
|
|
||||||
calculer(0, 1);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public static final void calculer(int valeurPrecedente,int valeur){
|
|
||||||
if (valeur<=100){
|
|
||||||
afficher(valeur);
|
|
||||||
int nouvelleValeur=valeur+valeurPrecedente;
|
|
||||||
calculer(valeur,nouvelleValeur);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,25 +0,0 @@
|
|||||||
import static utils.Utils.*;
|
|
||||||
|
|
||||||
public class FizzBuzz {
|
|
||||||
|
|
||||||
public static final void main(String[] args) {
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
for (int a=1; a<=199; a++){
|
|
||||||
if (a%3==0){
|
|
||||||
if (a%5==0) {
|
|
||||||
afficher("FizzBuzz");
|
|
||||||
} else {
|
|
||||||
afficher("Fizz");
|
|
||||||
}
|
|
||||||
} else{
|
|
||||||
if (a%5==0){
|
|
||||||
afficher("Buzz");
|
|
||||||
} else{
|
|
||||||
afficher(a);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
24
Iban.java
24
Iban.java
@ -1,24 +0,0 @@
|
|||||||
import static utils.Utils.*;
|
|
||||||
|
|
||||||
public class Iban {
|
|
||||||
|
|
||||||
public static final void main(String[] args) {
|
|
||||||
String[] inputs = new String[] {
|
|
||||||
"FR7640618802770004064892182",
|
|
||||||
"FR7610807004896241909471914",
|
|
||||||
};
|
|
||||||
for (String input : inputs) {
|
|
||||||
char[] inputChar = input.toCharArray();
|
|
||||||
if (verifIban(inputChar)) {
|
|
||||||
afficher("IBAN correct: ", input);
|
|
||||||
} else {
|
|
||||||
afficher("IBAN incorrect: ", input);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static boolean verifIban(char[] iban) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
12
Isbn.java
12
Isbn.java
@ -1,12 +0,0 @@
|
|||||||
import static utils.Utils.*;
|
|
||||||
|
|
||||||
public class Isbn {
|
|
||||||
|
|
||||||
public static final void main(String[] args) {
|
|
||||||
afficher("ISBN");
|
|
||||||
|
|
||||||
// exemple: 978-2-3793-1012-6
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,13 +0,0 @@
|
|||||||
import static utils.Utils.*;
|
|
||||||
|
|
||||||
public class Palindrome {
|
|
||||||
|
|
||||||
public static final void main(String[] args) {
|
|
||||||
testPalindrome(Palindrome::estPalindrome);
|
|
||||||
}
|
|
||||||
|
|
||||||
private static final boolean estPalindrome(char[] mot) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
15
Romain.java
15
Romain.java
@ -1,15 +0,0 @@
|
|||||||
import static utils.Utils.*;
|
|
||||||
|
|
||||||
public class Romain {
|
|
||||||
|
|
||||||
public static final void main(String[] args) {
|
|
||||||
afficher("Conversion nombre romains (I à X)");
|
|
||||||
|
|
||||||
testRomains(Romain::convertirEnDecimal);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static int convertirEnDecimal(char[] romain) {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
28
Somme2.java
28
Somme2.java
@ -1,28 +0,0 @@
|
|||||||
import static utils.Utils.*;
|
|
||||||
|
|
||||||
public class Somme2 {
|
|
||||||
|
|
||||||
public static final void main(String[] args) {
|
|
||||||
afficher("Somme 2");
|
|
||||||
|
|
||||||
testSomme2(Somme2::somme2);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static final int somme2(int n, int p) {
|
|
||||||
|
|
||||||
if (n<=p){
|
|
||||||
int r=0;
|
|
||||||
|
|
||||||
for (int q=n; q<=p; q++){
|
|
||||||
r=r+q;
|
|
||||||
}
|
|
||||||
return r;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
else {
|
|
||||||
return somme2(p,n);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,28 +1,12 @@
|
|||||||
package utils;
|
package utils;
|
||||||
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
import java.util.Scanner;
|
import java.util.Scanner;
|
||||||
import java.util.function.Function;
|
|
||||||
import java.util.function.BiFunction;
|
import java.util.function.BiFunction;
|
||||||
|
|
||||||
public class Utils {
|
public class Utils {
|
||||||
|
|
||||||
public static Map<String, Integer> ROMAINS = Map.of(
|
|
||||||
"I", 1,
|
|
||||||
"II", 2,
|
|
||||||
"III", 3,
|
|
||||||
"IV", 4,
|
|
||||||
"V", 5,
|
|
||||||
"VI", 6,
|
|
||||||
"VII", 7,
|
|
||||||
"VIII", 8,
|
|
||||||
"IX", 9,
|
|
||||||
"X", 10
|
|
||||||
);
|
|
||||||
|
|
||||||
public static final char[] ALPHABET = new char[] {
|
public static final char[] ALPHABET = new char[] {
|
||||||
'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o',
|
'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o',
|
||||||
'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'
|
'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'
|
||||||
@ -42,24 +26,6 @@ public class Utils {
|
|||||||
"yxda zdn wxdb anbbnwcrxwb un kxwqnda m ncan carbcn"
|
"yxda zdn wxdb anbbnwcrxwb un kxwqnda m ncan carbcn"
|
||||||
};
|
};
|
||||||
|
|
||||||
public static int[] TEST_SOMME2 = new int[] {
|
|
||||||
0, 3, 6,
|
|
||||||
3, 7, 25,
|
|
||||||
7, 3, 25,
|
|
||||||
};
|
|
||||||
|
|
||||||
public static void testSomme2(BiFunction<Integer, Integer, Integer> func) {
|
|
||||||
for (int i=0; i<TEST_SOMME2.length; i+=3) {
|
|
||||||
int n=TEST_SOMME2[i];
|
|
||||||
int p=TEST_SOMME2[i+1];
|
|
||||||
int s=TEST_SOMME2[i+2];
|
|
||||||
|
|
||||||
afficher("n = ", n, "p = ", p);
|
|
||||||
afficher("*** SOMME: ", func.apply(n, p));
|
|
||||||
afficher(" Attendu: ", s);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static final void afficher(Object... args) {
|
public static final void afficher(Object... args) {
|
||||||
if (args == null) {
|
if (args == null) {
|
||||||
System.out.println("null");
|
System.out.println("null");
|
||||||
@ -69,6 +35,7 @@ public class Utils {
|
|||||||
.collect(Collectors.joining(" "));
|
.collect(Collectors.joining(" "));
|
||||||
System.out.println(str);
|
System.out.println(str);
|
||||||
}
|
}
|
||||||
|
System.out.print(' ');
|
||||||
}
|
}
|
||||||
public static final void afficherTabInt(int... args) {
|
public static final void afficherTabInt(int... args) {
|
||||||
if (args == null) {
|
if (args == null) {
|
||||||
@ -80,6 +47,7 @@ public class Utils {
|
|||||||
.collect(Collectors.joining(" "));
|
.collect(Collectors.joining(" "));
|
||||||
System.out.println(str);
|
System.out.println(str);
|
||||||
}
|
}
|
||||||
|
System.out.print(' ');
|
||||||
}
|
}
|
||||||
|
|
||||||
public static int lireEntier() {
|
public static int lireEntier() {
|
||||||
@ -127,31 +95,4 @@ public class Utils {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void testPalindrome(Function<char[], Boolean> func) {
|
|
||||||
testPalindrome(func, "palindrome", false);
|
|
||||||
for (String pal : List.of("elle", "kayak", "serres", "essayasse")) {
|
|
||||||
testPalindrome(func, pal, true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void testPalindrome(Function<char[], Boolean> func,
|
|
||||||
String mot, boolean result) {
|
|
||||||
boolean val = func.apply(mot.toCharArray());
|
|
||||||
afficher(mot, result == val ? "OK" : "ERREUR");
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void testRomains(Function<char[], Integer> func) {
|
|
||||||
for (Map.Entry<String, Integer> entry : ROMAINS.entrySet()) {
|
|
||||||
String rom = entry.getKey();
|
|
||||||
int val = entry.getValue();
|
|
||||||
int res = func.apply(rom.toCharArray());
|
|
||||||
afficher(rom, " -> ", res);
|
|
||||||
if (res == val) {
|
|
||||||
afficher("Succés");
|
|
||||||
} else {
|
|
||||||
afficher("Attendu:", val);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user