# New to CompSci and Java

• 10-12-2008, 04:06 AM
New to CompSci and Java
Hi i just started my CompSci class and for hw my teacher gave us the question:

"Write an expression that, given a positive integer n, computes a new integer
in which the units and tens digits have swapped places. For example, if
n = 123, the result should be 132; if n = 3, the tens digit is zero and the result should be 30."

Im not really sure how i would do this but my guess is that it is more of a math question than a java question. If you have any ideas that might help please let me know.
• 10-12-2008, 04:52 AM
Fubarable
There are two ways to approach this question.
A) Convert the int into a String and manipulate the String chars using the String method charAt(int i).
B) Mathematically isolate your tens and ones digits and all the digits from the hundreds on up. This is probably what your teacher wants you to do. To do this, look up "integer division" and also the modulus operator. HTH.
• 10-12-2008, 06:04 AM
Eranga
Here is a the solution in the first way that Fubarable explain,

Code:

```        Scanner scn = new Scanner(System.in);         String result = null;                 System.out.println("Enter the value: ");         String str = scn.nextLine();                 if(str.length() == 1)             result = str + "0";         else             result = str.substring(0, (str.length() - 2)) +                     str.charAt(str.length() - 1) + str.charAt(str.length() - 2);```
• 10-12-2008, 10:07 AM
Paul Richards
And here is the other way:

Code:

```    public int swapTensAndUnits(int n) {         int tens = (n/10)%10;         int units = n%10;         int rest = n-n%100;         return rest+units*10+tens;     }```
• 10-12-2008, 03:18 PM
ianjedi
Quote:

Hi i just started my CompSci class and for hw my
Im not really sure how i would do this but my guess is that it is more of a math question than a java question. If you have any ideas that might help please let me know.

I would always have a go first, cause its going to get harder you need the basics. Good luck in your studies.

cheers

Ian J.
• 10-12-2008, 04:04 PM
Fubarable
Quote:

Originally Posted by ianjedi
I would always have a go first, cause its going to get harder you need the basics. Good luck in your studies.

AMEN, Brother!
• 10-13-2008, 03:42 AM
Eranga
Quote:

Originally Posted by ianjedi
I would always have a go first, cause its going to get harder you need the basics. Good luck in your studies.

cheers

Ian J.

Yep, nice thoughts! Thanks.
• 10-13-2008, 04:02 AM
gnarly hogie
Heh, that question totally blew my mind, you guys thought of the answer pretty quickly, do questions like that get easier over time?
• 10-13-2008, 04:04 AM
Eranga
I'm not clear what you are trying to say here.
• 10-13-2008, 04:09 AM
gnarly hogie
We'll I was pretty lost as that guy about the question because that isn't a normal math question and you have to think differently then normally does it get easier. I don't know if I can explain it any easier, maybe it's a dumb question?
• 10-13-2008, 04:27 AM
Eranga
If you are looking in programing way, post #3 have the solution. Or else if you are looking on mathematical way, post #4 is the solution.

I don't know what you mean by normal math question. There are no single pattern in maths. In different applications it takes in different ways. Quite similar thing is done in image processing, when converting an image into black and white, and many more usages are there.
• 10-13-2008, 04:31 AM
gnarly hogie
Well what I meant is that when you switch the tens with the ones normally you would think just switch the places but that program for post 4 is not what you would normally think to do just to switch the integer.