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
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
A voir également:
- Java, problème de chiffre
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Excel trier par ordre croissant chiffre - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Java apk - Télécharger - Langages
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
13 sept. 2008 à 19:14
Bonjour,
Je n'ai pas très bien compris est-ce-que c'est ça que tu veut faire:
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]); } }
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
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?
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?
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
14 sept. 2008 à 13:19
Donc tu veut faire un truc du genre ça :
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...
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...
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
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
classe moteur crypto avec les outils de crypto graphie
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é); } } } } }
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
14 sept. 2008 à 14:52
fais ça :
MoteurCrypto.java :
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é); } } } } }
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
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...)
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...)
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
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é); } } } } }
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
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é); } } } } }