![]() |
| ||
| missing return statement 106 and 123, any ideas?? Im writing an encription program and it keeps saying their are 2 missing return statements :cry: , any ideas? public class EncryptedMessage { public static final int NO_OF_LETTERS = 26; //a-z incl public static final int NO_OF_NUMBERS = 10; //0-9 incl public static final int NO_OF_CHARACTERS = NO_OF_LETTERS + NO_OF_NUMBERS; private String message; public static final char[][] cipherArray = {{'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','0','1','2','3','4','5','6','7','8','9'}, {'!','"','£','$','%','^','&','*','(',')','_','#','@',':',';','{','}','[',']','=','?','<','>','~','+','|','B','P','S','E','C','U','R', 'I','T','Y'}}; public EncryptedMessage() { message = (""); } public EncryptedMessage(Object o) { message = (String)o; } public EncryptedMessage(String s) { message = s; } public EncryptedMessage(int i) { message = Integer.toString(i); } public String encryptText() { //convert message to character array char[] mess = message.toCharArray(); int len = mess.length; //create a second array to store the encrypted text char[] encrypted = new char[len]; //Get each cipher letter for each character and store in the character array //outputText. for(int i =0; i<=mess.length; i++) { encrypted[i]=crypt(mess[i]); } StringBuffer enText = new StringBuffer(""); //append character array to StringBuffer, convert to a String and trim off control characters return ((enText.append(encrypted)).toString().trim()); } public String decryptText() { //convert string to character array char[] returnMess = message.toCharArray(); int messLen = returnMess.length; //create a second array to store the encrypted text char[] encrypted2 = new char[messLen]; //Get each cipher letter for each character and store in the character array for(int i =0; i<=messLen; i++) { encrypted2[i]=decrypt(returnMess[i]); } StringBuffer enText = new StringBuffer(""); //append outputText to StringBuffer, convert to a String and trim off control characters return ((enText.append(encrypted2)).toString().trim()); } // All characters outside of the character subset should be left unencrypted. public static char crypt(char c) { //look for the character in the top row of the cipher array for(int i=0; i<=NO_OF_CHARACTERS;i++) { if(cipherArray[i][0]==c) { return cipherArray[0][i]; } else { return c; } } } public static char decrypt(char c) { //look for the character in the bottom row of the cipher array for(int i =0; i <=NO_OF_CHARACTERS;i++) { if(cipherArray[0][i]==c) { //return relevant encryted character or original character if not in character set return cipherArray[i][0]; } else { return c; } } } } Thanx :lol: |
| ||
| Re: missing return statement 106 and 123, any ideas?? In both methods: char crypt char decrypt You specify a char return type, but you are returning an char array type char[] crypt char[] decrypt |
| ||
| Re: missing return statement 106 and 123, any ideas?? Opps, I see you are returning char[][] not char []......change to char[][] :) |
| ||
| Re: missing return statement 106 and 123, any ideas?? Quote:
Is their any way i could return a single char to the calling program? :o |
| ||
| Re: missing return statement 106 and 123, any ideas?? not using a function that returns an array... You can of course return an array that contains only 1 element. |
| ||
| Re: missing return statement 106 and 123, any ideas?? I must appoligize again. I was looking at your code while getting ready to go out the door. In your code above, you are actually returning one characher: return cipherArray[i][0];So your return type would still be char, instead of char[][].Sorry about that |
| ||
| Re: missing return statement 106 and 123, any ideas?? ok im returning one single char, therefore their should be no problem. But i am still getting the missing return statement message. |
| ||
| Re: missing return statement 106 and 123, any ideas?? Its ok guys, i got it. it was returning a missing return statement because i had it returning the values from within a for loop. I just changed the return to a char outside the loop. Thanx anywayz. :lol: |
| All times are GMT -4. The time now is 6:33 pm. |
Forum system based on vBulletin Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
©2003 - 2009 DaniWeb® LLC