ادخال البيانات

[toc]

في هذا الدرس سنتعرف على طريقة استقبال البيانات من المستخدم وكيفية التحويل بين المتغيرات .

أولا :دالة readLine :-

نستخدم هذه الدالة عندما نريد استقبال قيمة من المستخدم ، مثلا طلبت من المستخدم أن يدخل اسمه و عمره والمرحلة الدراسية فهنا نقوم باستخدام هذه الدالة كما سنرى .

println("please enter your name")
var yourName:String= readLine()!!
println("Hello $yourName ")

في المثال أعلاه طلبنا من المستخدم أن يدخل اسمه من خلال جملة الطباعة ، ومن ثم عرفنا متغير وحددنا نوعه وقمنا بإسناد الدالة التي تقوم باستقبال هذه القيمة.

   تعني قم بقراءة ما سوف يدخله المستخدم .


ثانيا: التحويل :-

readLine هذه الدالة تستقبل قيمة فقط نصية أي من نوع String ، ولكن فلنفرض أننا أردنا من المستخدم إدخال عمره والعمر متغير من نوع صحيح ، ما العمل إذا ؟

الحل بسيط جداً كالتالي :

println("please enter your age")
var yourAge:Int= readLine()!!.toInt()
yourAge.toInt()

عرفنا متغير العمر من نوع عدد صحيح ومن ثم قمنا بإسناد الدالة لتقوم بقراءة ما يدخله المستخدم ومن ثم قمنا بالخطوة الجديدة التالية وهي التحويل :

.toInt()

هذا السطر يعني أن نقوم بتحويل العمر من متغير نصي إلى متغير من نوع عدد صحيح وذلك لأن دالة

  تقرأ النص على أنه سلسلة نصية .readline

لو أردنا التحويل إلى متغير نوعه عدد عشري :

Age.toFloat()

هنا لو أردنا التحويل إلى متغير نوعه عدد عشري مزدوج :

Age.toDouble()

لا يقتصر التحويل عليهم فيمكننا التحويل إلى أي نوع ، باستثناء :

المتغير من نوع عدد صحيح لا يمكن تحويله إلى منطقي وذلك لأن المنطقي يحمل قيمة صح أو خطاء .


مثال :

fun main(args : Array<String>){

    println("please enter length for rectangle :")
    var n1:Int=readLine()!!.toInt()
    println("please enter  width  for rectangle:")
    var n2:Int=readLine()!!.toInt()
    var distance = n1*n2
    var circumference=2*(n1+n2)
    println("The distance = $distance and the circumference = $circumference")

}

ناتج التنفيذ :

please enter length for rectangle :
7
please enter  width  for rectangle:
4
The distance = 28 and the circumference = 22