Posted by: 1987AD February 10, 2010
Need hep with JAVA...Any IT experts...
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.
Last edited: 10-Feb-10 02:29 AM
Read Full Discussion Thread for this article