Your First Kotlin Android App: An App From Scratch

Jul 5 2022 Kotlin 1.6, Android 12, Android Studio Bumblebee | 2021.1.1

Part 3: Coding in Kotlin

24. Challenge: Rewrite the Code

Episode complete

Play next episode

Next
Save for later
About this episode
See versions

See forum comments
Cinema mode Mark complete Download course materials
Previous episode: 23. Use Conditional Statements Next episode: 25. Use a Math Method

This video Challenge: Rewrite the Code was last updated on Jul 5 2022

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.

If you dont get it. Then 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() method, 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 - sliderValue

Then, 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
}

Before you try it out, let’s check what android studio is trying to tell us. I’ll go ahead and hover. 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 operartor assignment that multiplies the variable on the left with -1. 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.