VIISeptem

Untitled

Mar 12th, 2020
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.64 KB | None | 0 0
  1. /**
  2.  * Hausaufgaben
  3.  * Caesar entschlüsseln: Das Entschlüsseln ist das Gleiche wie
  4.  * eine Verschlüsselung mit negativen Key.
  5.  * D.h. a == caesar( caesar(a, 10), -10 )
  6.  */
  7.  
  8. public class Verschluesssung {
  9.     private char caesarBuchstabe(char zeichen, int key) {
  10.         // Type casting: (double) 5.5f;
  11.         int verschluesselt = zeichen + key;
  12.        
  13.         if (verschluesselt > 'Z') {
  14.             verschluesselt = verschluesselt - 26;
  15.         }
  16.        
  17.         return (char) verschluesselt;
  18.     }
  19.         private char normalerBuchstabe(char zeichen, int key) {
  20.         // Type casting: (double) 5.5f;
  21.         int normal = zeichen - key;
  22.        
  23.         if (normal > 'Z') {
  24.             normal = normal + 26;
  25.         }
  26.        
  27.         return (char) normal;
  28.     }
  29.     public boolean enthaelt(String s, char c) {
  30.         for (int i = 0; i < s.length(); i = i + 1) {
  31.             if (c == s.charAt(i) ) {
  32.                 return true;
  33.             }
  34.         }
  35.  
  36.         return false;
  37.     }
  38.    private String umlaut = "ÖÄÜ";
  39.    public boolean umlaute(char c){
  40.     return enthaelt(umlaut, c);
  41.     }
  42.     public String caesar(String text, int key) {
  43.         if (key > 25) {
  44.             return "FEHLER! Key " + key + " ist ungültig!";
  45.         }
  46.        
  47.         String output = ""; // leerer String
  48.         text = text.toUpperCase();
  49.         text = text.replaceAll("\\s+","");
  50.        
  51.         for (int i = 0; i < text.length(); i = i + 1) {
  52.           if(umlaute(c)){
  53.              
  54.             }
  55.             char aktuellesZeichen = text.charAt(i);
  56.          
  57.             output = output + caesarBuchstabe(aktuellesZeichen, key);
  58.         }
  59.        
  60.         return output;
  61.     }
  62.    
  63.     public String entCaesar(String text, int key) {
  64.         if (key > 25) {
  65.             return "FEHLER! Key " + key + " ist ungültig!";
  66.         }
  67.        
  68.         String output = ""; // leerer String
  69.        
  70.         for (int i = 0; i < text.length(); i = i + 1) {
  71.            
  72.             char aktuellesZeichen = text.charAt(i);
  73.             output = output + normalerBuchstabe(aktuellesZeichen, key);
  74.         }
  75.        
  76.         return output;
  77.     }
  78.    
  79.      public void testEntCaesar() {
  80.         System.out.println("FEHLER! Key 75 ist ungültig <-> " + entCaesar("", 75) );
  81.         System.out.println("A <-> " + entCaesar("B", 1) );
  82.         System.out.println("Y <-> " + entCaesar("Z", 1) );
  83.         System.out.println("HALLO <-> " +entCaesar("LEPPS", 4) );
  84.          System.out.println("HALLO <-> " + entCaesar("LEPPS", 4) );
  85.     }
  86.    
  87.     public void testCaesar() {
  88.        Utils.test("LEPPS" , caesar("h a l lo", 4) );
  89.     }
  90. }
Add Comment
Please, Sign In to add comment