מחיקת הכול
חלק מהיחידה יסודות במסלול ה-Kotlin של Coddy. שיעור 89 מתוך 93.
אתגר
בינוניבשיעור הקודם מימשת את הפונקציונליות של "סך הכול וממוצע". עכשיו, ממש את הפונקציונליות של "נקה הכול" עבור אפשרות 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")
}
}
}כל השיעורים ביחידה יסודות
7קלט/פלט בסיסיים
פונקציית Printlnתבניות מחרוזתקלט באמצעות ReadLineהמרת טיפוסיםסיכום – שנים עד הפרישהסיכום – אמת או שקר10פונקציות
הכרזה על פונקציהפרמטרים וארגומנטיםערכי החזרהארגומנטים בעלי שםערכי ברירת מחדלפונקציות עם ביטוי יחידחזרה – פונקציית Sigmaחזרה – פונקציית אימות3אפשרות לערך null
מהי בטיחות מפני nullטיפוסים שיכולים להיות nullאופרטור קריאה בטוחהאופרטור אלביסיסודות אתגר הפונקציותאופרטור ההבטחה לאי־nullסיכום – גישה בטוחה9לולאות
לולאת forלולאת whileלולאת do-whilebreakcontinueטווחים בלולאותלולאה מקוננתחזרה – עצרתחזרה – קלט דינמי12יסודות הרשימות
List לעומת MutableListגישה לאיבריםשינוי רשימותמתודות של רשימותPair ו-Tripleחזרה – רשימת מוצריםחזרה – רשימה הפוכה15מעקב הוצאות יומי
סקירת הפרויקטיציאה מהתוכניתתרגלו בעצמכם: Kotlin אונליין