J'ai écrit un code pour le chiffrement César où la première entrée est la longueur de la chaîne sans espaces, la deuxième entrée est la chaîne à faire tourner & 3ème est la clé par laquelle tourner. Mon code fonctionne sauf le dernier caractère de la chaîne. Pour cela, un personnage étrange vient à la place d'un alphabet. S'il vous plaît aider !!! .. Je suis à ma fin d'esprit .. juste ne peut pas comprendre! Voici le code: -dernier caractère ne tourne pas correctement
import java.io.*;
import java.util.*;
public class Solution {
public static void main(String[] args) {
int length,rotate,i,x;
Scanner scan=new Scanner(System.in);
String s;
length=scan.nextInt();
s=scan.next();
rotate=scan.nextInt();
char c[]=s.toCharArray();
for(i=0;i<length;i++) {
x=c[i];
if(((x>65)||(x==65))&&((x==90)||(x<90))) {
x=x+rotate;
if(x>90)
x=x-90;
}
else if(((x>97)||(x==97))&&((x==122)||(x<122))) {
x=x+rotate;
if(x>122)
x=x-122;
}
c[i]=(char)x;
}
System.out.println();
for(i=0;i<length;i++)
System.out.print(c[i]);
}
}
entrée
est: -
11
middle-Outz
2
sortie doit être: -
okffng-Qwvb
mais ma sortie est à venir comme: -
okffng-Qwv
aidez s'il vous plaît !!! s'il vous plaît ... quelqu'un dit quelle est l'erreur dans mon code!
Veuillez prendre le temps de formater correctement votre code avant de le poster. –