مسح الكل
جزء من قسم الأساسيات في رحلة Kotlin على Coddy. الدرس 89 من 93.
التحدي
متوسطفي الدرس السابق، نفّذت وظيفة "Total and Average". الآن، نفّذ وظيفة "Clear All" للخيار 4.
عدّل برنامجك للتعامل مع الخيار 4:
- امسح جميع المصروفات من القائمة
expenses - اطبع
All expenses cleared!
يجب أن تستمر جميع الخيارات الأخرى في العمل كما كان من قبل:
- الخيار
1: إضافة مصروف - الخيار
2: عرض جميع المصروفات - الخيار
3: الإجمالي والمتوسط - الخيار
5: اطبعGoodbye!واخرج - الخيارات غير الصالحة: اطبع
Invalid option
تنسيق الإدخال:
اختيارات القائمة ومبالغ المصروفات كسلاسل نصية.
تنسيق الإخراج:
القائمة، متبوعة بالاستجابة المناسبة لكل إجراء.
مثال:
إذا كانت المدخلات هي 1 و50.0 و1 و25.0 و2 و4 و2 و5، فيجب أن يكون الإخراج كما يلي:
--- Expense Tracker ---
1. Add Expense
2. View All Expenses
3. Total and Average
4. Clear All
5. Exit
Choose an option:
Enter expense amount:
Expense added!
--- Expense Tracker ---
1. Add Expense
2. View All Expenses
3. Total and Average
4. Clear All
5. Exit
Choose an option:
Enter expense amount:
Expense added!
--- Expense Tracker ---
1. Add Expense
2. View All Expenses
3. Total and Average
4. Clear All
5. Exit
Choose an option:
Your expenses:
- $50.0
- $25.0
--- Expense Tracker ---
1. Add Expense
2. View All Expenses
3. Total and Average
4. Clear All
5. Exit
Choose an option:
All expenses cleared!
--- Expense Tracker ---
1. Add Expense
2. View All Expenses
3. Total and Average
4. Clear All
5. Exit
Choose an option:
No expenses recorded.
--- Expense Tracker ---
1. Add Expense
2. View All Expenses
3. Total and Average
4. Clear All
5. Exit
Choose an option:
Goodbye!تلميح: استخدم الطريقة clear() على قائمتك القابلة للتغيير لإزالة جميع العناصر.
جرّب بنفسك
fun main() {
val expenses = mutableListOf<Double>()
while (true) {
println("--- Expense Tracker ---")
println("1. Add Expense")
println("2. View All Expenses")
println("3. Total and Average")
println("4. Clear All")
println("5. Exit")
println("Choose an option:")
val choice = readLine()
if (choice == "1") {
println("Enter expense amount:")
val amount = readLine()!!.toDouble()
expenses.add(amount)
println("Expense added!")
} else if (choice == "2") {
if (expenses.isEmpty()) {
println("No expenses recorded.")
} else {
println("Your expenses:")
for (expense in expenses) {
println("- \$$expense")
}
}
} else if (choice == "3") {
if (expenses.isEmpty()) {
println("No expenses recorded.")
} else {
val total = expenses.sum()
val average = total / expenses.size
println("Total: \$$total")
println("Average: \$$average")
}
} else if (choice == "5") {
println("Goodbye!")
break
} else {
println("Invalid option")
}
}
}جميع دروس الأساسيات
4العوامل - الجزء الأول
العوامل الحسابيةعامل باقي القسمةالإسناد المُعزَّزعوامل المقارنةمراجعة - الرياضيات البسيطة7أساسيات الإدخال والإخراج
دالة Printlnقوالب السلاسل النصيةإدخال ReadLineتحويل النوعمراجعة - السنوات حتى التقاعدمراجعة - صواب أم خطأ10الدوال
تعريف دالةالمعاملات والوسائطالقيم المُعادةالوسائط المُسمّاةالقيم الافتراضيةالدوال ذات التعبير الواحدمراجعة - دالة سيغمامراجعة - دالة التحقق2المتغيرات
val مقابل varاستنتاج النوعالأعدادالسلسلة النصيةالقيمة المنطقيةاصطلاحات التسميةمراجعة - تهيئة المتغيرات5المعاملات الجزء 2
المعاملات المنطقية الجزء 1المعاملات المنطقية الجزء 2المعاملات المنطقية الجزء 3المعامل الثلاثي مع تعبير Ifمراجعة - المنطق البسيط8حاسبة تقسيم الفاتورة
رسالة ترحيبيةالحصول على الإدخال3القابلية للقيمة الفارغة
ما هو الأمان من القيم الفارغةالأنواع القابلة للقيمة الفارغةعامل الاستدعاء الآمنعامل Elvisأساسيات تحدي الدوالتأكيد عدم كون القيمة فارغةمراجعة - الوصول الآمن9الحلقات
حلقة Forحلقة Whileحلقة Do-WhileBreakContinueالنطاقات في الحلقاتالحلقة المتداخلةمراجعة - المضروبمراجعة - الإدخال الديناميكي12أساسيات القوائم
List مقابل MutableListالوصول إلى العناصرتعديل القوائمأساليب القوائمPair وTripleمراجعة - قائمة المنتجاتمراجعة - القائمة المعكوسة15متتبّع المصروفات اليومية
نظرة عامة على المشروعالخروج من البرنامجتدرّب بنفسك: Playground لـ Kotlin