Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

محاولة وفيها مشكلة #4

Open
yasserHamad opened this issue Mar 31, 2018 · 16 comments
Open

محاولة وفيها مشكلة #4

yasserHamad opened this issue Mar 31, 2018 · 16 comments

Comments

@yasserHamad
Copy link

yasserHamad commented Mar 31, 2018

السلام عليكم استاذ حسين

حاولت اقول بتطبيق ما ذكر من ايجاد العمر باليوم والشهر والسنة هذه المشكلة

import java.util.*
fun main(args: Array){

// input
println("Enter Your birthDay : ")
var DayofBirth: Int = readLine()!!.toInt()

println("Enter Your birthMonth : ")
var MonofBirth: Int = readLine()!!.toInt()

println("Enter Your birthYear : ")
var yearofBirth: Int = readLine()!!.toInt()



// process
var Today   =Calendar.getInstance().get(Calendar.DAY_OF_WEEK_IN_MONTH)
var Tomonth =Calendar.getInstance().get(Calendar.MONTH)
var Toyear  =Calendar.getInstance().get(Calendar.YEAR)
var Age            :Int ?=null
var TheDay      :Int ?=null
var Themonth  :Int ?=null
var Theyear     :Int ?=null

if (Today < DayofBirth) {
    Today += 28
    Tomonth=-1
}
else
{
    TheDay= Today - DayofBirth
    println("age of days : $TheDay")
}

if (Tomonth < MonofBirth)
{
    Tomonth = +12
    Toyear = -1
}
else {

    Themonth = Tomonth - MonofBirth
    println("age of Month  $Themonth " )
     }

 Theyear = Toyear - yearofBirth


    // output
println("Your Age Day&Month&Year Is: $TheDay Days  $Themonth Months  $Theyear  Years")

}

@oakoudad
Copy link

هل قمت بإغلاق الدالة أسفل البرنامج ؟
Fun

@oakoudad
Copy link

fun main(args: Array) { ----> fun main(args:Array){

@yasserHamad
Copy link
Author

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

@oakoudad
Copy link

أوكي و بالنسبة للدالة ضعها بهذا الشكل
fun main(args: Array) {

@yasserHamad
Copy link
Author

بعد التعديل كما ذكرت استاذي

صارت الاخطاء كالتالي

Information:Kotlin: kotlinc-jvm 1.2.30 (JRE 1.8.0_161-b12)
Information:31/03/18 06:13 م - Compilation completed with 3 errors and 0 warnings in 1s 844ms
E:\WorkSpace_Eclipce\Kotln\Project Kotlen\src\findAge.kt
Error:(4, 20) Kotlin: One type argument expected for class Array
Error:(53, 39) Kotlin: Variable 'TheDay' must be initialized
Error:(53, 48) Kotlin: Variable 'Themonth' must be initialized

@oakoudad
Copy link

var TheDay :Int ?=null
var Themonth:Int ?=null
var Theyear :Int ?=null

@yasserHamad
Copy link
Author

احسنت استاذي تم تجاوز الاخطاء لكن برايك النتيجة لما فيها خطا في حساب السنوات والاشهر

@oakoudad
Copy link

الأفضل لو أنك تجد مشاكل الحساب لحالك دون الإعتماد على أحد فيها
سأرسل لك بعد قليل طريقتي الخاصة لكن حاول الإعتماد على منطقك لتستطيع حل أي مشكل مستقبلا

@yasserHamad
Copy link
Author

ربي يسعدك تمام
اذا راح احاول

@oakoudad
Copy link

لا تعتمد حتى على طريقة الاستاذ حسين حاول أخد ورقة و قلم و قم بحساب العمر و جرد جميع الاحتمالات ومنه الوصول لأفضل طريقة لحساب العمل

@yasserHamad
Copy link
Author

اشكرك جزيل الشكر
لكن الخطا السابق الذي كان حله
var TheDay :Int ?=null
var Themonth:Int ?=null
var Theyear :Int ?=null

هل افهم انه عند تعرف اي متغير يجب ان يكون بهذه الصيغة
؟

@oakoudad
Copy link

كأنك تقول أن هذا المتغير يقبل أن يكون خال من أي معلومات
و للإشارة من الضرورة وضعها فقط لــ
var TheDay :Int ?=null
var Themonth:Int ?=null
لأنك وضعت إحتمالات و غير متأكد 100% أن تلك المتغيرات ستحصل على مدخلات
أما
var Theyear :Int
فسيحصل على محتواه دون تخطي أي إحتمال

@oakoudad
Copy link

بطريقة أخرى أي متغير تقوم بتحديده و محتواه داخل دالة شرطية فعليك إما أن تضع له قيمة أولية
مثلا
var TheDay :Int = 0
أو تضع له
var TheDay :Int ?=null
بمعنى يحتمل أن يكون بدون محتوى
و الطريقة الثانية أكثر منطقية

@yasserHamad
Copy link
Author

ربي يسعدك

@yasserHamad
Copy link
Author

عاجز عن شكرك استاذي

@oakoudad
Copy link

لا تشكرني أخي فهذا واجبي
و أتمنى لك التوفيق

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants