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

1. Member
Join Date
Jan 2013
Posts
5
Rep Power
0

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");
keyboardReader = new java.util.Scanner(System.in);
int ID = keyboardReader.nextInt();
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.println("Your Inverted ID is:");
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!

2. Member
Join Date
Sep 2010
Posts
83
Rep Power
0

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

look up modulus operation and there will be your answer
int a = 1234
int temp = a%10

3. Member
Join Date
Jan 2013
Posts
5
Rep Power
0

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

Originally Posted by Danieldcc
look up modulus operation and there will be your answer
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");
keyboardReader = new java.util.Scanner(System.in);
int ID = keyboardReader.nextInt();
int A,B,C,D;
A=(ID/1000);
B=(ID-(A*1000))/100;
C=((ID-((B*100)+A))/10);
D=ID%10;
System.out.println("Your Inverted ID is:");
System.out.print(D);
System.out.print(C);
System.out.print(B);
System.out.println(A);
}
}

4. Member
Join Date
Jan 2013
Location
england
Posts
9
Rep Power
0

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

5. Member
Join Date
Jan 2013
Location
england
Posts
9
Rep Power
0

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

i don't think the use of modulus is the problem..

Java 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

6. Member
Join Date
Sep 2010
Posts
83
Rep Power
0

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

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");
keyboardReader = new java.util.Scanner(System.in);
int ID = keyboardReader.nextInt();
int A,B,C,D;
A=(ID/1000);
B=(ID-(A*1000))/100;
C=((ID-((B*100)+A))/10);
D=ID%10;
System.out.println("Your Inverted ID is:");
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....

Java 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);```

7. Member
Join Date
Jan 2013
Location
england
Posts
9
Rep Power
0

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
Java Code:
`C=(ID-((B*100)+A))/10`
to
Java Code:
`C=(ID-((B*100)+(A*1000)))/10`

8. Member
Join Date
Jan 2013
Posts
5
Rep Power
0

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.

Posting Permissions

• You may not post new threads
• You may not post replies
• You may not post attachments
• You may not edit your posts
•