Posted by: 1987AD February 10, 2010
Login in to Rate this Post:
0
?
professional ta hoina, tara eikdum sikaru ni hoina, yeso code padhdha ra problem chain eua character matrai return bhayecha bhanda kheri problem yo chain line ma bahye jasto lagyo:
for (int i=0; i < plainText.length(); i++) {
char decode = (char)(plainText.charAt(i) + newShift);
char[] done = {decode};
cipherText= new String(done);
}
yahan new String chain pani loop ko bhitra parecha, so it creates a new string object every time
u go through the loop, storing only one character that is stored in done. therefore, it returns the last character.
also, String in java is "fixed" in a sense that u cannot append i t, so once u create a string, changing somethign in it basically means u have to create a new string... which is what u seem to be doing, but if that is what u are trying to do, u might need one to do something on this line:
cipherText = new String(null); // i am not sure if u need this, since i am not sure if String by default
// gets set to null.
for (int i=0; i < plainText.length(); i++) {
char decode = (char)(plainText.charAt(i) + newShift);
char[] done = {decode};
cipherText= new String(cipherText + done);
}
a + with a string on either side will try to perform the concat, i am not sure hoewever if the compiler can automatically cast the char array as string. if not, u may not need the aray at all, and just do:
cipherText= new String(cipherText + decode);
this from what i remember might work.
this however, is not the most efficient way, i think, since u are creating a new string every time in the loop. a better way would be to use StringBuilder / StringBuffer.
here is a java doc link to stringbuilder
http://java.sun.com/javase/6/docs/api/java/lang/StringBuilder.html#append%28char%29
so f u declare cipherText as Stringbuilder , then u can use something on the lines of
cipherText.append(decode)
to build the string,
then return it as :
cipherText.toString();
since u r trying to return a String type object.
don't know ur level of expertise, but since the q is about encryption, i am assuming u are familiar with java docs.
timilai java doc padhne baani chaina/ aunna bhane let me know, ali ali explain garne koshish garumla.
solution thyakkai chahin k huncha bhanera chahin bannu sakdina, ahile compile garera debug garna jhyau lagi racha, hopefully this helps somewhat.
for (int i=0; i < plainText.length(); i++) {
char decode = (char)(plainText.charAt(i) + newShift);
char[] done = {decode};
cipherText= new String(done);
}
yahan new String chain pani loop ko bhitra parecha, so it creates a new string object every time
u go through the loop, storing only one character that is stored in done. therefore, it returns the last character.
also, String in java is "fixed" in a sense that u cannot append i t, so once u create a string, changing somethign in it basically means u have to create a new string... which is what u seem to be doing, but if that is what u are trying to do, u might need one to do something on this line:
cipherText = new String(null); // i am not sure if u need this, since i am not sure if String by default
// gets set to null.
for (int i=0; i < plainText.length(); i++) {
char decode = (char)(plainText.charAt(i) + newShift);
char[] done = {decode};
cipherText= new String(cipherText + done);
}
a + with a string on either side will try to perform the concat, i am not sure hoewever if the compiler can automatically cast the char array as string. if not, u may not need the aray at all, and just do:
cipherText= new String(cipherText + decode);
this from what i remember might work.
this however, is not the most efficient way, i think, since u are creating a new string every time in the loop. a better way would be to use StringBuilder / StringBuffer.
here is a java doc link to stringbuilder
http://java.sun.com/javase/6/docs/api/java/lang/StringBuilder.html#append%28char%29
so f u declare cipherText as Stringbuilder , then u can use something on the lines of
cipherText.append(decode)
to build the string,
then return it as :
cipherText.toString();
since u r trying to return a String type object.
don't know ur level of expertise, but since the q is about encryption, i am assuming u are familiar with java docs.
timilai java doc padhne baani chaina/ aunna bhane let me know, ali ali explain garne koshish garumla.
solution thyakkai chahin k huncha bhanera chahin bannu sakdina, ahile compile garera debug garna jhyau lagi racha, hopefully this helps somewhat.
Last edited: 10-Feb-10 02:29 AM