I have the logic figured out but I can't seem to get past the implementation.
Thanks for any help
Rob
This is the error I get:
OutOfBoundsException: 27
at Cipher.search(Cipher.java:31)
at Cipher.encrypt(Cipher.java:73)
at Cipher.main(Cipher.java:89)
CODE:
public class Cipher {
public static int search (char[]g, char lookfor, int n) {
boolean found;
int i;
found = false;
i=0;
do {
if (lookfor == g[i]) {
found = true;
}
else {
i++;
}
} while (!found && 1 < n);
if (found) {
return i;
}
else {
return -1;
}
}
public static String encrypt (String str) {
String plainText;
String cipherText;
String outString;
char findChar;
char foundChar;
int foundPos;
char[]p = new char[27];
char[]c = new char[27];
plainText = " ABCDEFGHIJKLMNOPQRSTUVWXYZ";
cipherText = "}{+)(_*^&$%!#@~[;]:?><,./|`";
outString = "";
for (int i=0; i <= 26; i++) {
p[i] = plainText.charAt(i);
c[i] = cipherText.charAt(i);
}
for (int n=0; n <= str.length(); n++) {
findChar = str.charAt(n);
foundPos = search(p, findChar, 26);
outString = outString + foundPos;
}
return outString;
}
// main line of program
public static void main (String[] args) {
String plainText;
String cipherText;
plainText = "abcdefg";
cipherText = encrypt(plainText);
System.out.println(cipherText);
}
}
Thanks for any help
Rob
This is the error I get:
OutOfBoundsException: 27
at Cipher.search(Cipher.java:31)
at Cipher.encrypt(Cipher.java:73)
at Cipher.main(Cipher.java:89)
CODE:
public class Cipher {
public static int search (char[]g, char lookfor, int n) {
boolean found;
int i;
found = false;
i=0;
do {
if (lookfor == g[i]) {
found = true;
}
else {
i++;
}
} while (!found && 1 < n);
if (found) {
return i;
}
else {
return -1;
}
}
public static String encrypt (String str) {
String plainText;
String cipherText;
String outString;
char findChar;
char foundChar;
int foundPos;
char[]p = new char[27];
char[]c = new char[27];
plainText = " ABCDEFGHIJKLMNOPQRSTUVWXYZ";
cipherText = "}{+)(_*^&$%!#@~[;]:?><,./|`";
outString = "";
for (int i=0; i <= 26; i++) {
p[i] = plainText.charAt(i);
c[i] = cipherText.charAt(i);
}
for (int n=0; n <= str.length(); n++) {
findChar = str.charAt(n);
foundPos = search(p, findChar, 26);
outString = outString + foundPos;
}
return outString;
}
// main line of program
public static void main (String[] args) {
String plainText;
String cipherText;
plainText = "abcdefg";
cipherText = encrypt(plainText);
System.out.println(cipherText);
}
}