Need hep with JAVA...Any IT experts... - Sajha Mobile
SAJHA MOBILE
Need hep with JAVA...Any IT experts...
Posts 2 · Viewed 4414 · Go to Last Post
1987AD
· Snapshot
Like · Likedby · 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
hemu
· Snapshot
Like · Liked by · 0

Define "char[] done" outside the for loop. And add every character shift in it inside the loop as you have done.


Also do this "cipherText= new String(done);" or " cipherText = done.toString()" outside the for loop.


After that you will be good to go...

Please log in to reply to this post

You can also log in using your Facebook
View in Desktop
What people are reading
You might like these other discussions...
· Posts 9 · Viewed 12545 · Likes 1
· Posts 7 · Viewed 3935 · Likes 1
· Posts 1 · Viewed 1085
· Posts 1 · Viewed 1061
· Posts 1 · Viewed 970
· Posts 1 · Viewed 1064
· Posts 1 · Viewed 1036
· Posts 21 · Viewed 9918 · Likes 1
· Posts 3 · Viewed 2552
· Posts 5 · Viewed 7758 · Likes 1



Your Banner Here
Travel Partners
Travel House Nepal