# Simple Java Help: Inverse of 4 digit Number without Strings

• 01-25-2013, 10:32 PM
mcgillstudent
Simple Java Help: Inverse of 4 digit Number without Strings
I have searched the forum already and not found anything applicable to my problem. So I need to be able to invert ANY 4 digit number using java. Ex. Input 1234 --> Output 4321

I'm receiving the wrong answer with what I currently have:

public class InvertID {
public static void main(String[]args){
System.out.println("Enter ID");
int A,B,C,D;
A=(ID/1000);
B=(ID-(A*1000))/100;
C=(ID-((B*100)+A))/10;
D=(ID-(A*1000)-(B*100)-(C*10));
System.out.print(D);
System.out.print(C);
System.out.print(B);
System.out.println(A);
}
}

I have no idea what I'm doing wrong.

This is a question on an assignment and I'm not allowed to convert to strings (I think) then back again, as it needs to remain basic.

Any help is MUCH appreciated. Thank you so much!
• 01-25-2013, 10:39 PM
Danieldcc
Re: Simple Java Help: Inverse of 4 digit Number without Strings
int a = 1234
int temp = a%10
• 01-25-2013, 10:59 PM
mcgillstudent
Re: Simple Java Help: Inverse of 4 digit Number without Strings
Quote:

Originally Posted by Danieldcc
int a = 1234
int temp = a%10

I don't seem to understand. I watched a video explaining Modulus. But now the answer is: 410321

with
public class Learning {
public static void main(String[]args){
System.out.println("Enter ID");
int A,B,C,D;
A=(ID/1000);
B=(ID-(A*1000))/100;
C=((ID-((B*100)+A))/10);
D=ID%10;
System.out.print(D);
System.out.print(C);
System.out.print(B);
System.out.println(A);
}
}
• 01-25-2013, 11:28 PM
serotonin
Re: Simple Java Help: Inverse of 4 digit Number without Strings
i don't think the use of modulus is the problem..

C=((ID-((B*100)+A))/10);

you are missing something in the above line of code, you used it correctly in the other lines of code, get this line correct and the code works
• 01-25-2013, 11:39 PM
serotonin
Re: Simple Java Help: Inverse of 4 digit Number without Strings
i don't think the use of modulus is the problem..

Code:

`C=((ID-((B*100)+A))/10);`
you are missing something in the above line of code, you used it correctly in the other lines of code, get this line correct and the code works
• 01-26-2013, 01:10 AM
Danieldcc
Re: Simple Java Help: Inverse of 4 digit Number without Strings
Quote:

Originally Posted by mcgillstudent
I don't seem to understand. I watched a video explaining Modulus. But now the answer is: 410321

with
public class Learning {
public static void main(String[]args){
System.out.println("Enter ID");
int A,B,C,D;
A=(ID/1000);
B=(ID-(A*1000))/100;
C=((ID-((B*100)+A))/10);
D=ID%10;
System.out.print(D);
System.out.print(C);
System.out.print(B);
System.out.println(A);
}
}

Quick way i did it....you might want to put it in a loop so you can have a longer number but here you are....

Code:

```int a = 4321;                                 int tempa = a%10;                 a /= 10;                 int tempb = a%10;                 a /= 10;                 int tempc = a%10;                 a /= 10;                 int tempd = a%10;                 a /= 10;                 System.out.print(tempa);                 System.out.print(tempb);                 System.out.print(tempc);                 System.out.print(tempd);```
• 01-26-2013, 02:46 AM
serotonin
Re: Simple Java Help: Inverse of 4 digit Number without Strings
danielcc produced the correct solution.
but just so you know, your original code actually works for 4 digits if you change
Code:

`C=(ID-((B*100)+A))/10`
to
Code:

`C=(ID-((B*100)+(A*1000)))/10`
• 01-28-2013, 10:24 PM
mcgillstudent
Re: Simple Java Help: Inverse of 4 digit Number without Strings
Thanks everyone. I ended up solving it. The problem was with C, and I used an alternative method to "serotonin." Thanks for the input and I hope to be able to give back to the community as my knowledge continues to grow. Cheers.