Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- fun main(args: Array<String>) {
- doPart1()
- doPart2()
- doPart3()
- doPart4()
- }
- fun hasRequiredDigits(number: Int, digits: Int, canBeGreater: Boolean = false): Boolean {
- val numberLength = Math.abs(number).toString().length
- if(canBeGreater)
- if(numberLength >= digits) return true
- else {
- println("Number must be $digits-digit or greater.")
- return false
- }
- if(numberLength == digits) return true
- else {
- println("Number is not $digits-digit.")
- return false
- }
- }
- fun isNatural(number: Int): Boolean {
- if(number > 0) return true
- else {
- println("Number is not natural.")
- return false
- }
- }
- fun inputNumber(objectName: String,
- digitsNeeded:Int = 0,
- naturalNeeded: Boolean = false) :Int {
- var inputValue: Int
- while(true) {
- try{
- println("\nInput the value of $objectName, please.")
- inputValue = readLine()!!.toInt()
- if(digitsNeeded == 0 || hasRequiredDigits(inputValue, digitsNeeded))
- if(!naturalNeeded || isNatural(inputValue)) break
- }
- catch(e: NumberFormatException){
- println("An integer value is expected. ")
- }
- }
- return inputValue
- }
- fun doPart1 () {
- println("--Part 1, variant 4: get sum of all whole numbers from a to b.")
- var result = 0
- val a = inputNumber("a")
- var b: Int
- while(true) {
- b = inputNumber("b")
- if(b < a) println("b can NOT be less than a.")
- else break
- }
- for(i in a..b) result += i
- println("Sum of the numbers from a to b is $result.")
- }
- fun doPart2() {
- println("\n--Part 2, variant 4: check if digits of a two-digit number are equal.")
- val number = inputNumber("two-digit number",2)
- val numberInString = Math.abs(number).toString()
- if(numberInString[0]==numberInString[1]) println("Digits are equal.")
- else println("Digits are NOT equal.")
- }
- fun doPart3() {
- println("\n--Part 3, variant 4: check if sum of digits of a four-digit number is divisible by 3.")
- val number = Math.abs(inputNumber("four-digit number"))
- var numberInString = number.toString()
- var sum = 0
- for(i in numberInString) sum+= i.toInt()
- println("Sum of digits is divisible by 3: ${sum % 3 == 0}.")
- }
- fun doPart4() {
- println("\n--Part 4, variant 4: check if first digit is greater than the last one or vice versa.")
- val number = inputNumber("natural two-digit number",2,true)
- val firstDigit = number.toString()[0].toInt()
- val lastDigit = number % 10
- if(firstDigit > lastDigit) println("First digit is greater than the last one.")
- else if(firstDigit < lastDigit) println("Last digit is greater than the first one")
- else println("First and last digits of the number are equal.")
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement