2012-01-24 10 views
12

क्या मानक जावा पुस्तकालयों में से एक के हिस्से के रूप में पहले से ही rot13() और unrot13() कार्यान्वयन है? या क्या मुझे इसे खुद लिखना है और "पहिया को फिर से बनाना" है?आरओटी -13 समारोह?

वह कुछ इस तरह दिख सकता है:

int rot13 (int c) { 
    if ((c >= 'A') && (c <= 'Z')) 
    c=(((c-'A')+13)%26)+'A'; 

    if ((c >= 'a') && (c <= 'z')) 
    c=(((c-'a')+13)%26)+'a'; 

    return c; 
} 
+0

@BNL मैं व्यक्तिगत रूप से पसंद करते हैं rot104 को बचाने के लिए मेरी समारोह योगदान कर सकते हैं। एक समर्पित कॉप्रोसेसर की आवश्यकता है हालांकि –

+0

@BNL एलओएल ने कहा कि यह सुरक्षा उद्देश्यों के लिए है? [यह] देखें (http://stackoverflow.com/questions/3928903/what-are-some- व्यावहारिक- अनुप्रयोग-of-the-rot13- एल्गोरिदम) –

+8

वैसे, rot13 अपने स्वयं के विपरीत है, इसलिए आप ' टी वास्तव में एक "unrot13" विधि की जरूरत है। –

उत्तर

16

मैं यह डिफ़ॉल्ट रूप से जावा का हिस्सा है, लेकिन यहाँ आप इसे कैसे लागू कर सकते हैं का एक उदाहरण है नहीं लगता है;

public class Rot13 { 

    public static void main(String[] args) { 
     String s = args[0]; 
     for (int i = 0; i < s.length(); i++) { 
      char c = s.charAt(i); 
      if  (c >= 'a' && c <= 'm') c += 13; 
      else if (c >= 'A' && c <= 'M') c += 13; 
      else if (c >= 'n' && c <= 'z') c -= 13; 
      else if (c >= 'N' && c <= 'Z') c -= 13; 
      System.out.print(c); 
     } 
     System.out.println(); 
    } 

} 

स्रोत: http://introcs.cs.princeton.edu/java/31datatype/Rot13.java.html

+0

क्या, कोई मॉड सेशन नहीं? – yshavit

19

रूप में अच्छी तरह अन्य डेवलपर्स मूल्यवान सेकंड

public static String rot13(String input) { 
    StringBuilder sb = new StringBuilder(); 
    for (int i = 0; i < input.length(); i++) { 
     char c = input.charAt(i); 
     if  (c >= 'a' && c <= 'm') c += 13; 
     else if (c >= 'A' && c <= 'M') c += 13; 
     else if (c >= 'n' && c <= 'z') c -= 13; 
     else if (c >= 'N' && c <= 'Z') c -= 13; 
     sb.append(c); 
    } 
    return sb.toString(); 
} 
+0

इसे एक विधि में रखने के लिए समय निकालने के लिए धन्यवाद। –

+0

क्या आपने http://introcs.cs.princeton.edu/java/31datatype/Rot13.java.html की प्रतिलिपि बनाई थी? –

संबंधित मुद्दे