Forums Register Login

cant find solution - OutOfBoundsException

+Pie Number of slices to send: Send
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);
}
}
+Pie Number of slices to send: Send
perhaps
} while (!found && 1 < n);

should be
} while (!found && i < n);


and
for (int n=0; n <= str.length(); n++) {

should be
for (int n=0; n < str.length(); n++) {
+Pie Number of slices to send: Send
Thank you for your assistance. I can never find my own typos (1 instead of i). Everything is now working.
We can walk to school together. And we can both read this tiny ad:
a bit of art, as a gift, that will fit in a stocking
https://gardener-gift.com


reply
reply
This thread has been viewed 1110 times.
Similar Threads
ArrayIndex OutOfBoundsException?
javax.crypto.BadPaddingException: Given final block not properly padded
OutOfBoundsException Error
OutOfBoundsException
OutOfBoundsException problem
More...

All times above are in ranch (not your local) time.
The current ranch time is
Mar 29, 2024 07:30:10.