76 lines
1.6 KiB
Java
76 lines
1.6 KiB
Java
package palindrome;
|
|
|
|
import iutsud.Console;
|
|
import java.lang.*;
|
|
|
|
public class Palindrome {
|
|
|
|
/**
|
|
* @param args
|
|
*/
|
|
public static void main(String[] args) {
|
|
// TODO Auto-generated method stub
|
|
StringBuffer arguments = new StringBuffer();
|
|
String texte;
|
|
int longueurArguments = args.length;
|
|
|
|
for(int i=0; i<longueurArguments; i++)
|
|
{
|
|
arguments.append(args[i]);
|
|
}
|
|
texte = arguments.toString();
|
|
System.out.println(texte);
|
|
if(estUnPalindrome(texte) == true)
|
|
{
|
|
System.out.println(texte + " est un palindrome de longueur " + texte.length() + ".");
|
|
}
|
|
else
|
|
{
|
|
System.out.println(texte + " n'est pas un palindrome.");
|
|
}
|
|
|
|
}
|
|
|
|
private static boolean estUnPalindrome(String chaine)
|
|
{
|
|
boolean resultat = true;
|
|
int longueurChaine;
|
|
int avanceDeb = 0;
|
|
int reculeFin;
|
|
chaine = chaine.toUpperCase();
|
|
char char1;
|
|
char char2;
|
|
|
|
longueurChaine = chaine.length();
|
|
reculeFin = longueurChaine - 1;
|
|
|
|
while(avanceDeb <= reculeFin && resultat == true)
|
|
{
|
|
char1 = chaine.charAt(avanceDeb);
|
|
char2 = chaine.charAt(reculeFin);
|
|
/* while(Character.isWhitespace(char1))
|
|
{
|
|
avanceDeb++;
|
|
char1 = chaine.charAt(avanceDeb);
|
|
}
|
|
while (Character.isWhitespace(char2))
|
|
{
|
|
reculeFin++;
|
|
char2 = chaine.charAt(reculeFin);
|
|
}*/
|
|
System.out.print("Lettre début : " + chaine.charAt(avanceDeb));
|
|
System.out.println(" Lettre fin : " + chaine.charAt(reculeFin));
|
|
resultat = false;
|
|
if (chaine.charAt(avanceDeb) == chaine.charAt(reculeFin))
|
|
{
|
|
resultat = true;
|
|
}
|
|
avanceDeb++;
|
|
reculeFin--;
|
|
}
|
|
|
|
return resultat;
|
|
}
|
|
|
|
}
|