Java, problème de chiffre

Fermé
artragis Messages postés 481 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 6 avril 2010 - 13 sept. 2008 à 17:55
mat. Messages postés 150 Date d'inscription vendredi 27 juin 2008 Statut Membre Dernière intervention 1 septembre 2009 - 14 sept. 2008 à 16:47
Bonjour, j'ai créé un code qui remplace les caractères par des chiffres selon leurs place dans l'alphabet, cependant, j'ai un petit problème lors de l'exécution du programme. voici mon code :
//déclaration de l'alphabet
			String alphabet[]={"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"};
			
			int i;
			int j=0;
			int comparaison=1;
			//comparaison et toutes les variables pour la lectur des caractère de la textBox
		
			char caraclu[]=new char[1];
			String str=new String(caraclu);
			
			//boucle for pour la lecture des caractères
			for(i=0;i<texteEntré.length();i++){
				caraclu[0]=texteEntré.charAt(i);
				
				if(Character.isLetter(caraclu[0])){
					comparaison=str.compareToIgnoreCase(alphabet[0]);
					if(!(comparaison==0)){
						while(!(comparaison==0)&&j<alphabet.length-1){
							j++;
							comparaison=str.compareToIgnoreCase(alphabet[j]);
						}
						if (comparaison>0){
							j=25+comparaison;
						}
						else if(comparaison<0){
							j=25-2*comparaison;
						}
						else{
							j=j;
							
						}
					}
				}
				else if(Character.isSpaceChar(caraclu[0])||Character.isWhitespace(caraclu[0])){
					j=27;
				}
				else if(Character.isDigit(caraclu[0])){
					
					 
			         
					j=28+caraclu[0];
				}
				textecodé=textecodé+" "+j;
				
			}


je désire crypter "entrer le texte à crypter" (à titre d'essaie) et j'obtient :

 269 219 219 219 219 219 27 219 219 27 219 219 219 219 219 27 219 27 219 219 219 219 219 219 219
A voir également:

8 réponses

mat. Messages postés 150 Date d'inscription vendredi 27 juin 2008 Statut Membre Dernière intervention 1 septembre 2009 21
13 sept. 2008 à 19:14
Bonjour,
Je n'ai pas très bien compris est-ce-que c'est ça que tu veut faire:

		String[] alphabet = { "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" };
		int[] chiffre = new int[26];
		
		BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
		String entrer = null;
		
		System.out.println("Entrer une lettre de l'alphabet et appuis sur entrer :");
		try {
			entrer = (String)in.readLine();
		} catch (IOException e) {
		}

		for (int nb = 0; nb < 26; nb++) {
			chiffre[nb] = nb + 1;
			if (entrer.equals(alphabet[nb])) {
				System.out.println(chiffre[nb]);
			}
		}
0
artragis Messages postés 481 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 6 avril 2010 146
13 sept. 2008 à 19:55
lol, j'ai une iterface graphique avec des Jtextarea, donc pas de println.
ensuite, si tu fais "equals" je crois qu'il te retournera une erreur si ta lettre est une maj.
en fait mon algorithme récupère un texte écrit dans un texte area. puis caractère par caractère, il va les cripter en nombre, les espaces auront leur caractère, les chiffre aussi... or là, lorsque je crypte le texte "entrer le texte à crypter" il me met des chiffres avec centaine, ce qui est impossible, surtout qu'il les répète.

je viens de penser, estce que par exemple la concaténation "un s'écrit "+1+"en chiffre" donne "un s'écrit 1 en chiffre"? ça pourait être ça le bu non?
0
mat. Messages postés 150 Date d'inscription vendredi 27 juin 2008 Statut Membre Dernière intervention 1 septembre 2009 21
14 sept. 2008 à 13:19
Donc tu veut faire un truc du genre ça :

JFrame f = new JFrame();

		final JTextField entrer = new JTextField(10);
		final JTextField sortie = new JTextField(10);
		JButton b = new JButton("OK");

		JPanel p = new JPanel();
		p.add(entrer);
		p.add(sortie);
		b.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				sortie.setText("");
				char[] alphabet = { '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' };
				char[] alphabetMaj = { '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' };
				int[] chiffre = new int[26];

				for (int text = 0; text < entrer.getText().length(); text++) {
					for (int nb = 0; nb < 26; nb++) {
						chiffre[nb] = nb + 1;
						if (entrer.getText().charAt(text) == alphabet[nb] || entrer.getText().charAt(text) == alphabetMaj[nb]) {
							sortie.setText(sortie.getText() + chiffre[nb]+" ");
						}
					}
				}
			}
		});
		p.add(b);
		f.add(p);

		f.pack();
		f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		f.setVisible(true);


Dans le 1er TextField tu met les lettres et dans le 2ème quand tu appuis sur OK il y a les nombres qui correspondent aux lettres.

Désoler je n'ai rien compris à la dernière phrase, je viens de commencer le java il n'y a pas longtemps...
0
artragis Messages postés 481 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 6 avril 2010 146
14 sept. 2008 à 14:08
oui en quelque sorte. tu veux que je te passe le code des deux classes?

classe cryptographie, avec l'interface

import javax.swing.*;


import java.awt.GridLayout;
import javax.swing.BoxLayout;
import java.awt.BorderLayout;
import java.awt.FlowLayout;



public class Cryptographie {
	//un paneau avec une présentation en Bordeur Layout
JPanel presentationGeneral = new JPanel();
BorderLayout dispositionGeneral = new BorderLayout();
//le panneau stats qui s'afficheront en ligne
JPanel PresentationStatistiques = new JPanel();
FlowLayout DispStat = new FlowLayout();
//Le panneau avec les champs text et les outils de cryptage
JPanel OutilsCryptage = new JPanel();
BoxLayout DispOutils = new BoxLayout(OutilsCryptage,  BoxLayout.Y_AXIS);




//Le panneau avec le choix des methodes
JPanel Methodes =new JPanel();
GridLayout dispMet = new GridLayout(4,1);

//les composants (les radio, les champs text, les label)
JLabel statistiques = new JLabel("Statistiques : ");
JLabel nbMots = new JLabel("Nombre de mots :");
JLabel nbCar = new JLabel("Nombre de caractères : ");
JRadioButton MetCesar = new JRadioButton("Méthode des clefs de César");
JRadioButton MetCarré = new JRadioButton("Méthode des carré parfaits");
JRadioButton MetInverse = new JRadioButton("Méthode d'inversion du texte");
JRadioButton MetAlphaNum = new JRadioButton("Méthode de remplacement lettre par chiffres");
ButtonGroup Groupe = new ButtonGroup();
JTextArea texteDonné = new JTextArea("entrer le texte à crypter",10,60);
JTextArea texteCrypté = new JTextArea(10,60);
JButton Cryptage = new JButton("Crypter le texte");

Cryptographie() {
	presentationGeneral.setLayout(dispositionGeneral);
	//les stats
	PresentationStatistiques.setLayout(DispStat);
	PresentationStatistiques.add(statistiques);
	PresentationStatistiques.add(nbMots);
	PresentationStatistiques.add(nbCar);
	//Les boutons
	Groupe.add(MetCesar);
	Groupe.add(MetCarré);
	Groupe.add(MetAlphaNum);
	Groupe.add(MetInverse);
	//choix des methodes
	Methodes.setLayout(dispMet);
	Methodes.add(MetCesar);
	Methodes.add(MetCarré);
	Methodes.add(MetInverse);
	Methodes.add(MetAlphaNum);
	//l'interface de cryptage
	
	
	OutilsCryptage.setLayout(DispOutils);
	OutilsCryptage.add(texteDonné);
	texteDonné.setLineWrap(true);
	OutilsCryptage.add(Cryptage);
	OutilsCryptage.add(texteCrypté);
	texteCrypté.setLineWrap(true);
	//intégration des panels
	presentationGeneral.add("West", Methodes);
	presentationGeneral.add("North", PresentationStatistiques);
	presentationGeneral.add("Center", OutilsCryptage);
	
	// Crée le cadre et lui affecte son contenu
    JFrame frame = new JFrame("Cryptage de texte");
    frame.setContentPane(presentationGeneral);
	
    // Affecte à la fenêtre des dimensions suffisantes pour	  
    // prendre en compte tous les contrôles
    frame.pack(); 
	    
    // Affiche la fenêtre
    frame.setVisible(true);
	
MoteurCrypto crypteur = new MoteurCrypto(this);

Cryptage.addActionListener(crypteur);

}
public static void main(String[] args) {
	   // Instancie la classe Calculatrice
	   Cryptographie crypto = new Cryptographie();
	  }
}


classe moteur crypto avec les outils de crypto graphie

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;


import javax.swing.JButton;


public class MoteurCrypto implements ActionListener {
	Cryptographie parent;
	
MoteurCrypto(Cryptographie parent){
	this.parent = parent;
	
}
public void actionPerformed(ActionEvent événement) {
	String texteEntré = parent.texteDonné.getText();
	String textecodé="";
	int nbMot;
	int nbChar;
	String StatCar="Nombre de caractères : ";
	String StatMot="Nombre de mots : ";
	
	
	
	JButton boutonCliqué = (JButton) événement.getSource();
	if (boutonCliqué==parent.Cryptage){
		//les stats
		int index;
		nbChar = texteEntré.length();
		parent.nbCar.setText(StatCar+nbChar);
		char carprecédent[]=new char[1];
		texteEntré.getChars(1, 2, carprecédent, 0);
		char carlu[]=new char[1];
		nbMot=1;
		
		index=2;
		
		while(index<texteEntré.length()){
			texteEntré.getChars(index, index+1, carlu, 0);
			if(carprecédent[0]==' '){

				nbMot++;
				carprecédent=carlu;
			}
			else{
			carprecédent=carlu;
			}
			index+=1;
			
		}
		parent.nbMots.setText(StatMot+nbMot);
		
		
		//le codage
		if(parent.MetAlphaNum.isSelected()){
			//déclaration de l'alphabet
			String alphabet[]={"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"};
			
			int i;
			int j=0;
			int comparaison=1;
			//comparaison et toutes les variables pour la lectur des caractère de la textBox
		
			char caraclu[]=new char[1];
			String str=new String(caraclu);
			
			//boucle for pour la lecture des caractères
			for(i=0;i<texteEntré.length();i++){
				caraclu[0]=texteEntré.charAt(i);
				
				if(Character.isLetter(caraclu[0])){
					comparaison=str.compareToIgnoreCase(alphabet[0]);
					if(!(comparaison==0)){
						while(!(comparaison==0)&&j<alphabet.length-1){
							j++;
							comparaison=str.compareToIgnoreCase(alphabet[j]);
						}
						if (comparaison>0){
							j=25+comparaison;
						}
						else if(comparaison<0){
							j=25-2*comparaison;
						}
						else{
							j=j;
							
						}
					}
				}
				else if(Character.isSpaceChar(caraclu[0])||Character.isWhitespace(caraclu[0])){
					j=27;
				}
				else if(Character.isDigit(caraclu[0])){
					
					 
			         
					j=28+caraclu[0];
				}
				textecodé=textecodé+" "+j;
				
			}
			parent.texteCrypté.setText(textecodé);
			
			}
		else if(parent.MetInverse.isSelected()){
			int inverse;
			char mid[]=new char[1];
			for(inverse=0;inverse<texteEntré.length();inverse++){
				texteEntré.getChars(inverse, inverse+1, mid,0);
				textecodé = mid[0]+textecodé;
				parent.texteCrypté.setText(textecodé);
			}
			
		}
		else if(parent.MetCesar.isSelected()){
			
			}
			
			
		
				
				
				
				
			}
		}
		else if(parent.MetCarré.isSelected()){
			int racineEnt=0;
			double racineCarré;
			double lengt=texteEntré.length();
			racineCarré=Math.sqrt(lengt);
			char carré;
			while (racineEnt<racineCarré){
				racineEnt++;
			}
			int lettre;
			int groupe;
			//si la racineCarré est enière alors exécuter la boucle sans caractère supplémentaires
			if(racineCarré==racineEnt){
				
				
				for(lettre=0;lettre<racineEnt;lettre++){
					for(groupe=lettre;groupe<lengt;groupe+=racineEnt){
					carré=texteEntré.charAt(groupe);
					textecodé=textecodé+carré;}
					
				}
			
				parent.texteCrypté.setText(textecodé);
			}
			else if(racineEnt>racineCarré){
				while(texteEntré.length()<racineEnt*racineEnt){
					texteEntré=texteEntré+" ";
				}
				int longueur=texteEntré.length();
				for(lettre=0;lettre<racineEnt;lettre++){
					for(groupe=lettre;groupe<longueur;groupe+=racineEnt){
					carré=texteEntré.charAt(groupe);
					textecodé=textecodé+carré;}
					
				}
				parent.texteCrypté.setText(textecodé);
			}
		}
		
	}
}

}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mat. Messages postés 150 Date d'inscription vendredi 27 juin 2008 Statut Membre Dernière intervention 1 septembre 2009 21
14 sept. 2008 à 14:52
fais ça :

MoteurCrypto.java :
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;

public class MoteurCrypto implements ActionListener {
	Cryptographie parent;

	MoteurCrypto(Cryptographie parent) {
		this.parent = parent;

	}

	public void actionPerformed(ActionEvent événement) {
		String texteEntré = parent.texteDonné.getText();
		String textecodé = "";
		int nbMot;
		int nbChar;
		String StatCar = "Nombre de caractères : ";
		String StatMot = "Nombre de mots : ";

		JButton boutonCliqué = (JButton) événement.getSource();
		if (boutonCliqué == parent.Cryptage) {
			// les stats
			int index;
			nbChar = texteEntré.length();
			parent.nbCar.setText(StatCar + nbChar);
			char carprecédent[] = new char[1];
			char carlu[] = new char[1];
			nbMot = 1;

			index = 2;

			while (index < texteEntré.length()) {
				texteEntré.getChars(index, index + 1, carlu, 0);
				if (carprecédent[0] == ' ') {

					nbMot++;
					carprecédent = carlu;
				} else {
					carprecédent = carlu;
				}
				index += 1;

			}
			parent.nbMots.setText(StatMot + nbMot);

			// le codage
			if (parent.MetAlphaNum.isSelected()) {
				parent.texteCrypté.setText("");
				char[] alphabet = { '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' };
				char[] alphabetMaj = { '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' };
				int[] chiffre = new int[26];

				for (int text = 0; text < parent.texteDonné.getText().length(); text++) {
					for (int nb = 0; nb < 26; nb++) {
						chiffre[nb] = nb + 1;
						if (parent.texteDonné.getText().charAt(text) == alphabet[nb] || parent.texteDonné.getText().charAt(text) == alphabetMaj[nb]) {
							parent.texteCrypté.setText(parent.texteCrypté.getText() + chiffre[nb] + " ");
						}
					}
				}

			} else if (parent.MetInverse.isSelected()) {
				int inverse;
				char mid[] = new char[1];
				for (inverse = 0; inverse < texteEntré.length(); inverse++) {
					texteEntré.getChars(inverse, inverse + 1, mid, 0);
					textecodé = mid[0] + textecodé;
					parent.texteCrypté.setText(textecodé);
				}

			} else if (parent.MetCarré.isSelected()) {
				int racineEnt = 0;
				double racineCarré;
				double lengt = texteEntré.length();
				racineCarré = Math.sqrt(lengt);
				char carré;
				while (racineEnt < racineCarré) {
					racineEnt++;
				}
				int lettre;
				int groupe;
				// si la racineCarré est enière alors exécuter la boucle sans
				// caractère supplémentaires
				if (racineCarré == racineEnt) {

					for (lettre = 0; lettre < racineEnt; lettre++) {
						for (groupe = lettre; groupe < lengt; groupe += racineEnt) {
							carré = texteEntré.charAt(groupe);
							textecodé = textecodé + carré;
						}

					}

					parent.texteCrypté.setText(textecodé);
				} else if (racineEnt > racineCarré) {
					while (texteEntré.length() < racineEnt * racineEnt) {
						texteEntré = texteEntré + " ";
					}
					int longueur = texteEntré.length();
					for (lettre = 0; lettre < racineEnt; lettre++) {
						for (groupe = lettre; groupe < longueur; groupe += racineEnt) {
							carré = texteEntré.charAt(groupe);
							textecodé = textecodé + carré;
						}

					}
					parent.texteCrypté.setText(textecodé);
				}
			}
		}
	}
}
0
artragis Messages postés 481 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 6 avril 2010 146
14 sept. 2008 à 15:12
mon code fait la même chose que le tient, je regarde ce que donne le tient, mais bon...
j'ai regardé, ton code marche, mais il ne met pas les espace, et le "à" est codé par un "5" alors que ce doit être un 1 (ou un 27...)
0
mat. Messages postés 150 Date d'inscription vendredi 27 juin 2008 Statut Membre Dernière intervention 1 septembre 2009 21
14 sept. 2008 à 15:40
Et là c'est bon ?

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;

public class MoteurCrypto implements ActionListener {
	Cryptographie parent;

	MoteurCrypto(Cryptographie parent) {
		this.parent = parent;

	}

	public void actionPerformed(ActionEvent événement) {
		String texteEntré = parent.texteDonné.getText();
		String textecodé = "";
		int nbMot;
		int nbChar;
		String StatCar = "Nombre de caractères : ";
		String StatMot = "Nombre de mots : ";

		JButton boutonCliqué = (JButton) événement.getSource();
		if (boutonCliqué == parent.Cryptage) {
			// les stats
			int index;
			nbChar = texteEntré.length();
			parent.nbCar.setText(StatCar + nbChar);
			char carprecédent[] = new char[1];
			char carlu[] = new char[1];
			nbMot = 1;

			index = 2;

			while (index < texteEntré.length()) {
				texteEntré.getChars(index, index + 1, carlu, 0);
				if (carprecédent[0] == ' ') {

					nbMot++;
					carprecédent = carlu;
				} else {
					carprecédent = carlu;
				}
				index += 1;

			}
			parent.nbMots.setText(StatMot + nbMot);

			// le codage
			if (parent.MetAlphaNum.isSelected()) {
				parent.texteCrypté.setText("");
				char[] alphabet = { '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', 'à' };
				char[] alphabetMaj = { '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', };
				int[] chiffre = new int[26];

				for (int text = 0; text < parent.texteDonné.getText().length(); text++) {
					if (parent.texteDonné.getText().charAt(text) == 'à') {
						parent.texteCrypté.setText(parent.texteCrypté.getText() + '1' + "/");
					} else if (parent.texteDonné.getText().charAt(text) == 'é' || parent.texteDonné.getText().charAt(text) == 'è') {
						parent.texteCrypté.setText(parent.texteCrypté.getText() + '5' + "/");
					} else if (parent.texteDonné.getText().charAt(text) == 'ç') {
						parent.texteCrypté.setText(parent.texteCrypté.getText() + '3' + "/");
					}else if (parent.texteDonné.getText().charAt(text) == 'ù') {
						parent.texteCrypté.setText(parent.texteCrypté.getText() + "21" + "/");
					}else if (parent.texteDonné.getText().charAt(text) == ' ') {
						parent.texteCrypté.setText(parent.texteCrypté.getText() + ' ' + "/");
					}
					for (int nb = 0; nb < 26; nb++) {
						chiffre[nb] = nb + 1;
						if (parent.texteDonné.getText().charAt(text) == alphabet[nb] || parent.texteDonné.getText().charAt(text) == alphabetMaj[nb]) {
							parent.texteCrypté.setText(parent.texteCrypté.getText() + chiffre[nb] + " ");
						}
					}
				}

			} else if (parent.MetInverse.isSelected()) {
				int inverse;
				char mid[] = new char[1];
				for (inverse = 0; inverse < texteEntré.length(); inverse++) {
					texteEntré.getChars(inverse, inverse + 1, mid, 0);
					textecodé = mid[0] + textecodé;
					parent.texteCrypté.setText(textecodé);
				}

			} else if (parent.MetCarré.isSelected()) {
				int racineEnt = 0;
				double racineCarré;
				double lengt = texteEntré.length();
				racineCarré = Math.sqrt(lengt);
				char carré;
				while (racineEnt < racineCarré) {
					racineEnt++;
				}
				int lettre;
				int groupe;
				// si la racineCarré est enière alors exécuter la boucle sans
				// caractère supplémentaires
				if (racineCarré == racineEnt) {

					for (lettre = 0; lettre < racineEnt; lettre++) {
						for (groupe = lettre; groupe < lengt; groupe += racineEnt) {
							carré = texteEntré.charAt(groupe);
							textecodé = textecodé + carré;
						}

					}

					parent.texteCrypté.setText(textecodé);
				} else if (racineEnt > racineCarré) {
					while (texteEntré.length() < racineEnt * racineEnt) {
						texteEntré = texteEntré + " ";
					}
					int longueur = texteEntré.length();
					for (lettre = 0; lettre < racineEnt; lettre++) {
						for (groupe = lettre; groupe < longueur; groupe += racineEnt) {
							carré = texteEntré.charAt(groupe);
							textecodé = textecodé + carré;
						}

					}
					parent.texteCrypté.setText(textecodé);
				}
			}
		}
	}
}
0
mat. Messages postés 150 Date d'inscription vendredi 27 juin 2008 Statut Membre Dernière intervention 1 septembre 2009 21
14 sept. 2008 à 16:47
C'est bon là :

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;

public class MoteurCrypto implements ActionListener {
	Cryptographie parent;

	MoteurCrypto(Cryptographie parent) {
		this.parent = parent;

	}

	public void actionPerformed(ActionEvent événement) {
		String texteEntré = parent.texteDonné.getText();
		String textecodé = "";
		int nbMot;
		int nbChar;
		String StatCar = "Nombre de caractères : ";
		String StatMot = "Nombre de mots : ";

		JButton boutonCliqué = (JButton) événement.getSource();
		if (boutonCliqué == parent.Cryptage) {
			// les stats
			int index;
			nbChar = texteEntré.length();
			parent.nbCar.setText(StatCar + nbChar);
			char carprecédent[] = new char[1];
			char carlu[] = new char[1];
			nbMot = 1;

			index = 2;

			while (index < texteEntré.length()) {
				texteEntré.getChars(index, index + 1, carlu, 0);
				if (carprecédent[0] == ' ') {

					nbMot++;
					carprecédent = carlu;
				} else {
					carprecédent = carlu;
				}
				index += 1;

			}
			parent.nbMots.setText(StatMot + nbMot);

			// le codage
			if (parent.MetAlphaNum.isSelected()) {
				parent.texteCrypté.setText("");
				char[] alphabet = { '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', 'à' };
				char[] alphabetMaj = { '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', };
				int[] chiffre = new int[26];

				for (int text = 0; text < parent.texteDonné.getText().length(); text++) {
					if (parent.texteDonné.getText().charAt(text) == 'à') {
						parent.texteCrypté.setText(parent.texteCrypté.getText() + '1' + " ");
					} else if (parent.texteDonné.getText().charAt(text) == 'é' || parent.texteDonné.getText().charAt(text) == 'è') {
						parent.texteCrypté.setText(parent.texteCrypté.getText() + '5' + " ");
					} else if (parent.texteDonné.getText().charAt(text) == 'ç') {
						parent.texteCrypté.setText(parent.texteCrypté.getText() + '3' + " ");
					} else if (parent.texteDonné.getText().charAt(text) == 'ù') {
						parent.texteCrypté.setText(parent.texteCrypté.getText() + "21" + " ");
					} else if (parent.texteDonné.getText().charAt(text) == ' ') {
						parent.texteCrypté.setText(parent.texteCrypté.getText() + ' ' + " ");
					}
					for (int nb = 0; nb < 26; nb++) {
						chiffre[nb] = nb + 1;
						if (parent.texteDonné.getText().charAt(text) == alphabet[nb] || parent.texteDonné.getText().charAt(text) == alphabetMaj[nb]) {
							parent.texteCrypté.setText(parent.texteCrypté.getText() + chiffre[nb] + " ");
						}
					}
				}

			} else if (parent.MetInverse.isSelected()) {
				int inverse;
				char mid[] = new char[1];
				for (inverse = 0; inverse < texteEntré.length(); inverse++) {
					texteEntré.getChars(inverse, inverse + 1, mid, 0);
					textecodé = mid[0] + textecodé;
					parent.texteCrypté.setText(textecodé);
				}

			} else if (parent.MetCarré.isSelected()) {
				int racineEnt = 0;
				double racineCarré;
				double lengt = texteEntré.length();
				racineCarré = Math.sqrt(lengt);
				char carré;
				while (racineEnt < racineCarré) {
					racineEnt++;
				}
				int lettre;
				int groupe;
				// si la racineCarré est enière alors exécuter la boucle sans
				// caractère supplémentaires
				if (racineCarré == racineEnt) {

					for (lettre = 0; lettre < racineEnt; lettre++) {
						for (groupe = lettre; groupe < lengt; groupe += racineEnt) {
							carré = texteEntré.charAt(groupe);
							textecodé = textecodé + carré;
						}

					}

					parent.texteCrypté.setText(textecodé);
				} else if (racineEnt > racineCarré) {
					while (texteEntré.length() < racineEnt * racineEnt) {
						texteEntré = texteEntré + " ";
					}
					int longueur = texteEntré.length();
					for (lettre = 0; lettre < racineEnt; lettre++) {
						for (groupe = lettre; groupe < longueur; groupe += racineEnt) {
							carré = texteEntré.charAt(groupe);
							textecodé = textecodé + carré;
						}

					}
					parent.texteCrypté.setText(textecodé);
				}
			}
		}
	}
}
0