yes as Amahdy said :



just introduce one more line n ur program will run correctly




it works.... someone plz explain why it is so....








import java.util.Scanner;




/**
 *
 * @author Pardeep
 */
public class Reverse {
   public void test(){
       int n=0,l=0,i=0;
            int j=0,c=0;
Scanner sc=new Scanner(System.in);
       n=sc.nextInt();                            //count no of test
cases
       while(n>0){
           String strn="";
           String str1=sc.nextLine();
           String str=sc.nextLine();
           //String str=sc.nex




            l=str.length();
            String[] ar=new String[l];
            j=0;
            int count=0;
            for(i=0;i<str.length();i++){         //count no of blank
spaces in string
                if(str.charAt(i)==' '){
                    count++;
                }
            }
            i=0;
           for(i=str.length()-1;i>=0;i--){      //reverse the string
            ar[j]=String.valueOf(str.charAt(i));  //store the value in
array ar[]
          //System.out.println("while.."+ar[j]+j);
               j+=1;                                 //then increase
value in array element
               if(str.charAt(i)==' '){              //if space occur
in string then pop up all array element and add in string variable
strn
                   for(int k=j-1;k>=0;k--){
                       strn+=ar[k];
                   }
               j=0;                                     // j is again
set to j=0
               count--;//System.out.println(count);     //count is
decremented
               }                                         //now we have
reversed the string and store it in string (strn),but not the first
word of string
               if(count==0){                               //if count
is zero then
                   strn+=" ";                              //space is
added to string
                   for(int m=0;m<=i;m++){                  //variable
m is initialised to 0 and upto i
                       strn+=str.charAt(m);                //store
each char in the string (strn)
                   }
                   i=-1;
               }
           }c++;
            System.out.println("Case #:"+c +strn);                  
  //Error:-output is printed (but getting space at first position)




       n--;
       }




   }
   public static void main(String a[]){
       new Reverse().test();
   }
}


On Mar 23, 10:02 pm, Amahdy <[email protected]> wrote:
> I think your problem is here:
>
> n = sc.nextInt();
>
> You read the integer (the count) but still at the same line, so you need to
> move one more line by typing:
>
> sc.nextLine();
>
> After it.
>
> I'm not sure if your code is correct though.
>
> -- AMahdy!www.amahdy.net
>
>
>
>
>
>
>
> On Wed, Mar 21, 2012 at 14:20, mandy <[email protected]> wrote:
> > here is a link to the problem...
> >http://code.google.com/codejam/contest/351101/dashboard#s=p1
> > Input:-this is a test
> > Output:-test a is this
> > I'm getting error in output and in while loop is not executing
> > properly...
> > So pls tell me what's wrong with this code...
> > Thanks a lot.
>
> > Mine solution is this..
>
> > /*
> >  * To change this template, choose Tools | Templates
> >  * and open the template in the editor.
> >  */
> > package frame;
>
> > import java.util.Scanner;
>
> > /**
> >  *
> >  * @author Pardeep
> >  */
> > public class Reverse {
> >    public void test(){
> >        int n=0,l=0,i=0;
> >             int j=0,c=0;
> > Scanner sc=new Scanner(System.in);
> >        n=sc.nextInt();                            //count no of test
> > cases
> >        while(n>0){
> >            String strn="";
> >            String str=sc.nextLine();
> >             l=str.length();
> >             String[] ar=new String[l];
> >             j=0;
> >             int count=0;
> >             for(i=0;i<str.length();i++){         //count no of blank
> > spaces in string
> >                 if(str.charAt(i)==' '){
> >                     count++;
> >                 }
> >             }
> >             i=0;
> >            for(i=str.length()-1;i>=0;i--){      //reverse the string
> >             ar[j]=String.valueOf(str.charAt(i));  //store the value
> > in array ar[]
> >           //System.out.println("while.."+ar[j]+j);
> >                j+=1;                                 //then increase
> > value in array element
> >                if(str.charAt(i)==' '){              //if space occur
> > in string then pop up all array element and add in string variable
> > strn
> >                    for(int k=j-1;k>=0;k--){
> >                        strn+=ar[k];
> >                    }
> >                j=0;                                     // j is again
> > set to j=0
> >                count--;//System.out.println(count);     //count is
> > decremented
> >                }                                         //now we
> > have reversed the string and store it in string (strn),but not the
> > first word of string
> >                if(count==0){                               //if count
> > is zero then
> >                    strn+=" ";                              //space is
> > added to string
> >                    for(int m=0;m<=i;m++){                  //variable
> > m is initialised to 0 and upto i
> >                        strn+=str.charAt(m);                //store
> > each char in the string (strn)
> >                    }
> >                    i=-1;
> >                }
> >            }c++;
> >             System.out.println("Case #:"+c
> > +strn);                     //Error:-output is printed (but getting
> > space at first position)
>
> >        n--;
> >        }
>
> >    }
> >    public static void main(String a[]){
> >        new Reverse().test();
> >    }
> > }
>
> > --
> > You received this message because you are subscribed to the Google Groups
> > "Google Code Jam" group.
> > To post to this group, send email to [email protected].
> > To unsubscribe from this group, send email to
> > [email protected].
> > For more options, visit this group at
> >http://groups.google.com/group/google-code?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"Google Code Jam" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-code?hl=en.

Reply via email to