import java.util.ArrayList; public class SubstCipher { static String alphabet = "abcdefghijklmnopqrstuvwxyz"; static String lock = "tcojkiqnkmhrodqzpyyfswzlcp"; static String[] keys = { "Actinium","Silver","Aluminium","Aluminum","Americium","Argon","Arsenic","Astatine","Gold","Boron","Barium","Beryllium","Bohrium","Bismuth","Berkelium","Bromine","Carbon","Calcium","Cadmium", "Cerium","Californium","Chlorine","Curium","Cobalt","Chromium","Caesium","Cesium","Copper","Dubnium","Darmstadtium","Dysprosium","Erbium","Einsteinium","Europium","Fluorine","Iron", "Fermium","Francium","Gallium","Gadolinium","Germanium","Hydrogen","Helium","Hafnium","Mercury","Holmium","Hassium","Iodine","Indium","Iridium","Potassium","Kalium","Krypton", "Lanthanum","Lithium","Lawrencium","Lutetium","Mendelevium","Magnesium","Manganese","Molybdenum","Meitnerium","Nitrogen","Sodium","Niobium","Neodymium","Neon","Nickel", "Nobelium","Neptunium","Oxygen","Osmium","Phosphorus","Protactinium","Lead","Palladium","Promethium","Polonium","Praseodymium","Platinum","Plutonium","Radium","Rubidium","Rhenium", "Rutherfordium","Roentgenium","Rhodium","Radon","Ruthenium","Sulfur","Sulphur","Antimony","Scandium","Selenium","Seaborgium","Silicon","Samarium","Tin","Strontium","Tantalum","Terbium", "Technetium","Tellurium","Thorium","Titanium","Thallium","Thulium","Uranium","Ununbium","Ununhexium","Ununoctium","Ununpentium","Ununquadium","Ununtrium","Vanadium","Tungsten", "Xenon","Yttrium","Ytterbium","Zinc","Zirconium" }; public static void main(String args[]) { for ( String key: keys ) { String keystring = ""; String deciphered = ""; for ( char c: key.toCharArray() ) { boolean hit = false; for (int i = 0; i < keystring.length(); i++ ) { if ( c == keystring.charAt(i) ) hit = true; } if ( !hit ) keystring += c; } for ( char c: alphabet.toCharArray() ) { boolean hit = false; for (int i = 0; i < keystring.length(); i++ ) { if ( c == keystring.charAt(i) ) hit = true; } if ( !hit ) keystring += c; } for ( int l = 0; l < 26; l++ ) for ( int a = 0; a < 26; a++ ) if ( lock.charAt(l) == alphabet.charAt(a) ) deciphered += keystring.charAt(a); System.out.println("Key:\t\t\t" + key); System.out.println("Dechipered:\t\t" + deciphered + "\n"); } } }