הצגת כל ההוצאות
חלק מהיחידה יסודות במסלול ה-Kotlin של Coddy. שיעור 87 מתוך 93.
אתגר
בינוניבשיעור הקודם מימשת את הפונקציונליות של "Add Expense". כעת, ממש את הפונקציונליות של "View All Expenses" עבור האפשרות 2.
שנה את התוכנית שלך כך שתטפל באפשרות 2:
- אם הרשימה
expensesריקה, הדפסNo expenses recorded. - אם יש הוצאות, הדפס
Your expenses:ולאחריו כל הוצאה בשורה חדשה, בפורמט- $amount(כאשר amount הוא ערך ההוצאה)
כל שאר האפשרויות צריכות להמשיך לעבוד כרגיל:
- אפשרות
1: הוסף הוצאה - אפשרות
5: הדפסGoodbye!וצא - אפשרויות
3,4או אפשרות לא חוקית: הדפסInvalid option
פורמט הקלט:
בחירות בתפריט וסכומי הוצאות כמחרוזות.
פורמט הפלט:
התפריט, ולאחריו התגובה המתאימה לכל פעולה.
דוגמה:
אם הקלטים הם 2, 1, 15.50, 1, 8.25, 2 ו-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:
Your expenses:
- $15.5
- $8.25
--- 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 == "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 אונליין