-1

この暗号化装置のアルファベットに「ç」、「ğ」、「ı」、「ö」、「ü」の文字を追加したいと思います。また、特殊文字も追加したいと考えています。どうやってやるの?

    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);
    }
4

2 に答える 2

2

JavaインターンCharをintとして使用して暗号を実装しています。より良い方法は、String charSet = "abcdefgh.... %&/(öäüô";charSet に必要な文字で a を使用することです。

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);
}

理解していただければ幸いです。

于 2012-11-14T12:47:40.280 に答える
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ñéÿ
于 2012-11-14T12:57:35.537 に答える