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 Fri, Mar 23, 2012 at 10:32 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.
>
--
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.