סכום וממוצע
חלק מהיחידה יסודות במסלול ה-Kotlin של Coddy. שיעור 88 מתוך 93.
אתגר
בינוניבשיעור הקודם מימשת את הפונקציונליות "View All Expenses". עכשיו ממש את הפונקציונליות "Total and Average" עבור אפשרות 3.
שנה את התוכנית שלך כדי לטפל באפשרות 3:
- אם הרשימה
expensesריקה, הדפסNo expenses recorded. - אם יש הוצאות, חשב והדפס:
Total: $Xכאשר X הוא הסכום של כל ההוצאותAverage: $Yכאשר Y הוא הממוצע של כל ההוצאות
כל שאר האפשרויות צריכות להמשיך לעבוד כבעבר:
- אפשרות
1: הוסף הוצאה - אפשרות
2: הצג את כל ההוצאות - אפשרות
5: הדפסGoodbye!וצא - אפשרות
4או אפשרות לא חוקית: הדפסInvalid option
פורמט הקלט:
בחירות בתפריט וסכומי הוצאות כמחרוזות.
פורמט הפלט:
התפריט, ולאחריו התגובה המתאימה לכל פעולה.
דוגמה:
אם הקלטים הם 3, 1, 20.0, 1, 30.0, 1, 10.0, 3 ו-5, הפלט צריך להיות:
--- 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:
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:
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:
Total: $60.0
Average: $20.0
--- Expense Tracker ---
1. Add Expense
2. View All Expenses
3. Total and Average
4. Clear All
5. Exit
Choose an option:
Goodbye!נסו בעצמכם
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 == "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 אונליין