Your First Kotlin Android App: An App From Scratch

Aug 15 2023 · Kotlin 1.8.20, Android 13, Android Studio Flamingo | 2022.2.1

Part 3: Coding in Kotlin

25. Challenge: Rewrite the Difference Calculation Code

Episode complete

Play next episode

Next
About this episode

Leave a rating/review

See forum comments
Cinema mode Mark complete Download course materials
Previous episode: 24. Work with Conditional Statements Next episode: 26. Use a Math Function

Get immediate access to this and 4,000+ other videos and books.

Take your career further with a Kodeco Personal Plan. With unlimited access to over 40+ books and 4,000+ professional videos in a single subscription, it's simply the best investment you can make in your development career.

Learn more Already a subscriber? Sign in.

Transcript: 25. Challenge: Rewrite the Difference Calculation Code

In the previous episode, I mentioned that there’s another way to calculate the difference that requires fewer lines of code - and that’s what you’re going to be doing in this challenge.

The new algorithm for calculating the difference looks like this:

  • First, subtract the target value from the slider’s value.
  • Then, if the result is a negative number, multiply it by -1 to make it a positive number.

At this point, pause the video and try changing the calculation for the difference to this new algorithm. Make sure you try it out.

Once you’re done, you can keep watching to compare your code to my solution.

Alright good luck!!!

How did the challenge go for you? Hopefully, you made progress, but if you got stuck, that’s okay too. Just follow along with me.

Now, inside the pointsForCurrentRound() function, go ahead and delete all the code related to the if/else statement.

Then update the difference variable declaration to the following:

var difference = targetValue - sliderToInt

Now, you need to check if the difference is a negative value. If so, you’ll go ahead and multiply the difference by negative 1 to make it a positive integer like so:

if (difference < 0) {
    difference = difference * -1
}

So for example, a negative 5 difference equals negative 5 multiplied by negative 1, which would be a positive 5.

Before you try it out, let’s check what Android Studio is trying to tell us. I’ll go ahead and hover over the warning. And it says this code can be replaced with an operator assignment. Go ahead and select the suggestion below.

And this replaces the previous code assignment with an operator assignment that multiplies the variable on the left with negative 1.

if (difference < 0) {
  difference *= -1 // Updated Code
}

This is a shorther syntax for writing such an assignment.

Run your app and try it out. The current point is displayed in the dialog.

But what if I tell you there’s another way to write this function with even less code? Let’s take a look at this in the next episode.