User input ni nini?

User input ni kila ambacho mtumaji wa hiyo program atatakiwa kuwasilisha kwenye hiyo program mfano akiulizwa jina, akiulizwa namba na vinginevyo. Endapo atajaza hizo taaifa ndio zinaitwa user input. Kwa ufupi taarifa ambazo unahitaji mtumiaji wa program ajaze kwenye hiyo program ndio huitwa user input.

 

Katika Kotlin ili tuweze kupata user input tutatumia method  ya readLine(), wacha tuone jinsi inavyoweza kufanya kazi:-

 

Mfano:

fun main() {

   println("Andika jina kisha bofya Enter kwenye keyboard yako");

   var name  = readLine();

   println("Jina lako ni ${name}")

}

 

 

Sasa kuna kitu nataka ujijuwe, ni kuwa user input zote ni string data type. Hivyo kama ukitaka kuweka data type kwenye kutengeneza variable utatakiwa kubadili string kuwa hiyo type ya data unayoitaka

 

Mfano:

Tunataka kutengeneza program ya kujuwa umri wa mtu. Program hii itahitaji mwaka aliozaliwa. Akishaweka mwaka aliozaliwa tutachukuwa 2023 - huo mwaka ili tupata idadi ya miaka yeke.

 

Sasa hapa kwanza tutabadilisha tada tulioipata kutoka kwenye readLine() kuwa namba. Wacha tutumie int. Hapa tutatumia function ya readLine()?.toInt() zingatia hapo tumeweka alama ya ?. hiyo hapo inaitwa self call operator hutumika kwa ajili ya ku tumia properties za object.

 

fun main() {

   println("andika mwaka uliozaliwa")

   var umri  = readLine()?.toInt()

   println("umri wako ni miaka  ${2023 - umri!!}");

}

 

 

Hapo utaona kama mtu hatojaza kitu ama ameweka herufi badala ya namba itamletea error. Ili kutatua hilo tutakwenda kutumia if statement.

fun main() {

   println("andika mwaka uliozaliwa")

   var umri  = readLine()?.toIntOrNull()

 

   if (umri != null) {

       println("umri wako ni miaka  ${2023 - umri}")

   } else {

       println("Tafadhali ingiza mwaka uliozaliwa kwa nambari.")

   }

}

 

Tunaelewa kuwa float ni namba ambazo zipo katika desimali. Sasa tunakwenda kutengeneza program ya kubadili pesa kutoka USD kuja TSH. kipimo tutakachotumia ni Shilingi 2500  ni sawa na dola 1. Kwahiyo mtumiaji ataweka kiasi cha pesa Tsh kisha progran italeta thamani yake katika doma.

 

fun main() {

   println("Andika kiasi cha pesa za Kitanzania: ")

   val pesa: Double = readLine()?.toDouble() ?: 0.0

   println("Tsh $pesa ni sawa na USD dola ${pesa / 2500} za Marekani")

}

 

 

Utaona hapo tumetumia ?: hiyo ni operator inayoitwa Elvis operator. Hutumika kutoa default value endapo ktakuwa na null  yaani hakuna kitu.

 

Mwisho

Somo linalofuata tutakwenda kujifunza kuhusu function katika Kotlin