mirror of
https://github.com/vanitasvitae/EnigmAndroid.git
synced 2024-11-24 13:22:07 +01:00
Removed faulty RotorMaker utility
This commit is contained in:
parent
3b71d21c71
commit
c5a0b549b7
2 changed files with 0 additions and 126 deletions
Binary file not shown.
|
@ -1,126 +0,0 @@
|
|||
|
||||
/**
|
||||
* Used to create wiring arrays from strings
|
||||
* Use strings like "E K M F L G D Q V Z N T O W Y H X U S P A I B R C J" as input
|
||||
* Copyright (C) 2015 Paul Schaub
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
* @author vanitasvitae
|
||||
*/
|
||||
public class RotorMaker
|
||||
{
|
||||
public static final int l = 26;
|
||||
public static void main(String[] args)
|
||||
{
|
||||
if(args.length == l) makeRotor(args);
|
||||
else if(args.length == 1)
|
||||
{
|
||||
if(args[0].length() > 2)
|
||||
makeRotor(prepare(args[0]));
|
||||
else intToChar(Integer.valueOf(args[0]));
|
||||
}
|
||||
else System.out.println("wrong input format!");
|
||||
}
|
||||
|
||||
public static char intToChar(int x)
|
||||
{
|
||||
char o = (char) (x+65);
|
||||
System.out.println(o);
|
||||
return o;
|
||||
}
|
||||
|
||||
public static int charToNumber(char x)
|
||||
{
|
||||
x = Character.toUpperCase(x);
|
||||
int i = (int) x;
|
||||
i = i-65;
|
||||
System.out.println(i);
|
||||
return i;
|
||||
}
|
||||
public static void makeRotor(String input)
|
||||
{
|
||||
makeRotor(prepare(input));
|
||||
}
|
||||
|
||||
/**
|
||||
* Prepare the string (add spaces)
|
||||
* @param in input string
|
||||
* @return prepared string
|
||||
*/
|
||||
public static String[] prepare(String in)
|
||||
{
|
||||
String[] out = new String[l];
|
||||
int pos = 0;
|
||||
for(char x : in.toCharArray())
|
||||
{
|
||||
if(x != ' ')
|
||||
{
|
||||
try
|
||||
{
|
||||
out[pos] = ""+x;
|
||||
}
|
||||
catch (ArrayIndexOutOfBoundsException e)
|
||||
{
|
||||
System.out.println("String too long!");
|
||||
return null;
|
||||
}
|
||||
pos++;
|
||||
}
|
||||
}
|
||||
if(pos!=l)
|
||||
{
|
||||
System.out.println("String too short!");
|
||||
return null;
|
||||
}
|
||||
return out;
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate Array initializer for the given rotor configuration
|
||||
* @param input String describing the rotor
|
||||
*/
|
||||
public static void makeRotor(String[] input)
|
||||
{
|
||||
if(input.length != l) System.out.println("Wrong length! Input must have length "+l+"!");
|
||||
else
|
||||
{
|
||||
Integer[] out1 = new Integer[l];
|
||||
for(int i=0; i<l; i++)
|
||||
{
|
||||
String x = input[i].toUpperCase();
|
||||
char xc = x.charAt(0);
|
||||
int xint = (int) xc;
|
||||
xint = xint - 65;
|
||||
out1[i] = xint;
|
||||
}
|
||||
Integer[] out2 = new Integer[l];
|
||||
for(int i=0; i<l; i++)
|
||||
{
|
||||
out2[out1[i]] = i;
|
||||
}
|
||||
String output1 = "{";
|
||||
String output2 = "{";
|
||||
for(int i=0; i<l; i++)
|
||||
{
|
||||
output1 = output1 + out1[i]+",";
|
||||
output2 = output2 + out2[i]+",";
|
||||
}
|
||||
output1 = output1.substring(0,output1.length()-1) + "}";
|
||||
output2 = output2.substring(0,output2.length()-1) + "}";
|
||||
System.out.println("connections :" + output1);
|
||||
System.out.println("revConnects :" + output2);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue