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 Dart kabla ya kuhitaji user input utatakiwa ku import package inayoitwa io. Kufanya hivi tutaweka command hii import 'dart:io'; Mwanzoni mwa program yetu kabla ya main function. Baada ya hapo program yetu itakuwa na uwezo wa kupokea user input. Ili uweze kupokea user input tutatumia method hii stdin.readLineSync()
Wacha tuone mfano:
import 'dart:io';
void main(){
print("Andika jina kisha bofya Enter kwenye keyboard yako");
var name = stdin.readLineSync();
print("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 kyrengeneza variable utaongeza alama ya ? kwenye string.String? name = stdin.readLineSync();
Sasa kama utahitaji kufanyia mahesabau user input kuna kazi ya ziada unatakiwa kuifanya. Wacha kwanza tuone mfano huu
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.
import 'dart:io';
void main(){
print("andika mwaka uliozaliwa");
int umri = stdin.readLineSync());
print("umri wako ni miaka ${2023 - umri}");
}
Utaona hapo code zetu zina error hata kabla ya ku run. Sasa tatizo ni lililile nilokueleza kuwa input inatuletea aina ya data ambayo ni string sasa huwezi kufanya mahesabu na string. Hivyo basi tunatakiwa kubadili data kutoka kwenye string kuwa namba kama integer au float.
Kufanya hivi tutatumia method ya parse() kutoka kwenye sring kuwa integer tutatumia int.parse() na kwenye string kuwa float tutatumia double.parse() tutaweka alama ya ( ! ) mbele ya input
import 'dart:io';
void main(){
print("andika mwaka uliozaliwa");
int umri = int.parse(stdin.readLineSync()!);
print("umri wako ni miaka ${2023 - umri}");
}
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.
import 'dart:io';
void main(){
print("Andika kiasi cha pesa za Kitanzania");
double pesa = double.parse(stdin.readLineSync()!);
print("Tsh ${pesa} ni sawa na USD dola ${pesa / 2500} za Marekani");
}
Mwisho
Somo linalofuata tutakwenda kujifunza kuhusu function katika Dart