我想在这个加密器的字母表中添加字母"ç","ğ","ı","ö"和"ü",也许还有特殊的字符。我该怎么做?
for (int i = 0; i < metin.length(); i++) {
char harf = metin.charAt(i);
if (harf >= 'a' && harf <= 'm') harf += i;
else if (harf >= 'A' && harf <= 'M') harf += i;
else if (harf >= 'n' && harf <= 'z') harf -= i;
else if (harf >= 'N' && harf <= 'Z') harf -= i;
System.out.print(harf);
}
你正在使用Java实习生Char's作为整数来实现密码。更好的方法是使用带有字符集中所需字符的String charSet = "abcdefgh.... %&/(öäüô";
。
String charset = "abcdefghijklmnopqrstuvwxyzäöü";
for (int i = 0; i < metin.length(); i++) {
int j = charset.indexOf(metin.charAt(i));
if(j < -1)
{
//deal with unknown char
}
if(j == charset.length)
{
j=0;
}
System.out.print(charset.charAt(j+1);
}
我希望你明白这个想法。
您可以像这样使策略更通用。
String text = "abcdefghijklmnopqrstuvwxyz0123456789!$%^&*()äöü";
for (int i = 0; i < text.length(); i++) {
char ch = text.charAt(i);
ch--;
if (ch % 32 < 13)
ch += 13;
else if (ch % 32 < 26)
ch -= 13;
else if (ch % 32 < 29)
ch += 3;
else
ch -= 3;
ch++;
System.out.print(ch);
}
指纹
nopqrstuvwxyzabcdefghijklm#$%&'()*+,.12[3756ñéÿ