0
我正在做一個練習,我需要將字符串中的字母替換爲另一個字母(字母表中的第4個字母),還必須刪除任何不是一個字母,除了空格(「」)。到目前爲止,我能夠完成第一步(消除字符),但是我無法替換字母。這是我的代碼,它的最後一部分絕對不允許我正確更換信,你有什麼,我已經提前做了錯事?Java中的「密碼」練習
感謝的想法
import java.util.Scanner;
public class Crypto {
static final String ALPHABET = "abcdefghijklmnopqrstuvwxyz";
static final int DECALAGE = 4;
static Scanner scanner = new Scanner(System.in);
public static void main(String[] args) {
System.out.println("Veuillez entrer une chaine de caracteres : ");
String s = scanner.nextLine();
// la chaine a coder
String aCoder = "";
// la chaine codee
String chaineCodee = "";
char [] ALPHA = new char [26];
for (int i = 0; i < ALPHA.length; i++)
{
ALPHA[i] = ALPHABET.charAt(i);
}
for (int j = 0; j < s.length(); j++)
{
char a = s.charAt(j);
if (Character.isLetter(a) || a==' ')
{
aCoder += a;
}
aCoder.length();
for(int i =0; i<aCoder.length(); i++)
{
char f = aCoder.charAt(i);
if (Character.isLetter(f))
{
int aide = ALPHABET.indexOf(aCoder.charAt(i));
if (aide < 21)
{char ajout = ALPHABET.charAt(aide + DECALAGE);
chaineCodee = chaineCodee + ajout;
}
else {
char ajout2 = ALPHABET.charAt(aide - 22);
chaineCodee = chaineCodee + ajout2;
}
}
else{
chaineCodee = chaineCodee + " ";
}
}
}
System.out.format("La chaine initiale etait : '%s'\n", s);
if (aCoder.isEmpty()) {
System.out.println("La chaine a coder est vide.\n");
} else {
System.out.format("La chaine a coder est : '%s'\n", aCoder);
System.out.format("La chaine codee est : '%s'\n", chaineCodee);
}
}
}
哇,謝謝了很多! 這是我在StackOverFlow上的第一篇文章,我剛開始編寫代碼,我必須告訴你,我在這裏被阻止。你真的是我的一天!非常感謝! Francis Langlois – 2014-10-30 03:22:41