0

hello,
i wrote very simple code for reversing integer digits. but when i compile it, i get message as

----jGRASP exec: javac -g C:\Program Files\Java\jdk1.6.0_23\bin\ReverseDigit.java
---- at: Mar 14, 2011 7:58:58 PM

----jGRASP wedge: pid for wedge is 4920.
----jGRASP wedge2: pid for wedge2 is 1788.
----jGRASP wedge2: CLASSPATH is ".;;.;C:\Program Files (x86)\QuickTime\QTSystem\QTJava.zip;C:\Program Files (x86)\jGRASP\extensions\classes".
----jGRASP wedge2: working directory is [C:\Program Files\Java\jdk1.6.0_23\bin] platform id is 2.
----jGRASP wedge2: actual command sent ["C:\Program Files\Java\jdk1.6.0_23\bin\javac.exe" -g "C:\Program Files\Java\jdk1.6.0_23\bin\ReverseDigit.java"].
----jGRASP wedge2: pid for process is 5984.


----jGRASP wedge2: exit code for process is 0.
----jGRASP: operation complete.

The code runs. but does not give any output.
I put some out.print statements to find out what's happening. my program does not take value inputed. my code is:

import java.util.Scanner;

public class ReverseDigit
{
 public static void main( String args[] ) 
  {	
     int number,newnumber1;
     Scanner input = new Scanner( System.in );
	  System.out.print( "Enter the number to be reversed\n" );
	
	  number = input.nextInt();
	  newnumber1 = reverseInt(number);
	  
	  System.out.printf( "::: ",number );
	  
	  System.out.printf( "The reversed number is: ",newnumber1 );
	}

   public static int reverseInt(int num1)
	{  
     int digit1,digit2,digit3,digit4;
	  int newnumber;
	  
	 digit1 = num1/1000;
    digit2 = num1/100 - digit1*10;
    digit3 = num1/10 - digit1*100 - digit2*10;
    digit4 = num1 - digit1*1000 - digit2*100 - digit3*10;
	 	 
	 newnumber = (digit4 * 1000) + (digit3 * 100)+ (digit2 * 10) + digit1;
	 System.out.printf( ": ",newnumber );
	 
	 return newnumber;
	}
	  
}

and the output i get is:

Enter the number to be reversed
1234
: ::: The reversed number is:
what could be the problem?

Edited by newack: n/a

3
Contributors
6
Replies
7
Views
6 Years
Discussion Span
Last Post by newack
0

It's doing exactly what you asked for.
You didn't ask for what you wanted, though.

System.out.printf( "::: ",number );

The format string here doesn't reference a variable, so it doesn't use number for anything. Try

System.out.printf( "%d ",number );

You might try

System.out.printf( "%d \n",number );

if you want a line break.

You might also try reading the printf documentation here or here or here

Edited by jon.kiparsky: n/a

0

replace the comma in line 16 with a plus sign(+) and also delete line 30 since you are returning the result i don't thing it is ok to output it
System.out.printf( "The reversed number is: "+ newnumber1 );

0

+ concatenation would work, I suppose, in line 16, but it's not what you want in a printf(). printf is for formatted output, you wouldn't want to just cat the variables onto the end of it. For that, you want println or print, probably println.

0

@ jon, %d really works. so stupid of me!!! :-)
@ sam, +concatenation also works as well.
well, I added line 30 just to check if it returns value in the method or not.
Thank you guys.

do you have any idea, why it shows above message while compiling? i noticed that it shows for other programs also.It was not showing it before.

0

It's just telling you that it told the compiler to compile, and it did. An exit code of 0 typically indicates success - this allows you to use non-zero exit codes as error messages.

0

okkk.
Thanks Jon.
I didn't see that message before.That's why was wondering about it.

This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.