Thuta Learning
ရှာဖွေရန်
AdvancedProgrammingbeginner

Mini Project

စိတ်လျှော့ပါ။ ဒီခန်းကို စာအုပ်လိုမဟုတ်ဘဲ စကားပြောသလိုပဲ၊ နားလည်လွယ်အောင် ရှင်းပါမယ်။

ဒီ mini project မှာ Simple Student Grade Manager တစ်ခုတည်ဆောက်ပါမယ်။ ArrayList နဲ့ student names သိမ်းမယ်၊ HashMap နဲ့ marks သိမ်းမယ်၊ loop နဲ့တစ်ယောက်ချင်းစီ result တွက်မယ်၊ method နဲ့ grade logic ခွဲရေးမယ်။ ဒီ project သေးသေးလေးက Java basics + collections + methods + control flow ကိုတစ်စုတည်းလေ့ကျင့်စေပါတယ်။

java
import java.util.ArrayList;
import java.util.HashMap;

public class Main {
  static String getGrade(int mark) {
    if (mark >= 80) {
      return "A";
    } else if (mark >= 60) {
      return "B";
    } else if (mark >= 40) {
      return "C";
    } else {
      return "Fail";
    }
  }

  public static void main(String[] args) {
    ArrayList<String> students = new ArrayList<String>();
    students.add("Aung");
    students.add("Mya");
    students.add("Htet");

    HashMap<String, Integer> marks = new HashMap<String, Integer>();
    marks.put("Aung", 85);
    marks.put("Mya", 67);
    marks.put("Htet", 38);

    for (String student : students) {
      int mark = marks.get(student);
      String grade = getGrade(mark);
      System.out.println(student + " - Mark: " + mark + ", Grade: " + grade);
    }
  }
}

getGrade() method က mark အပေါ်မူတည်ပြီး grade ပြန်ပေးပါတယ်။ students ArrayList ထဲမှာ student names သိမ်းပါတယ်။ marks HashMap ထဲမှာ student name ကို key အဖြစ်သုံးပြီး mark သိမ်းပါတယ်။ Enhanced for loop နဲ့ student တစ်ယောက်ချင်းစီကိုဖတ်ပြီး mark/grade ထုတ်ပါတယ်။

You should see
Aung - Mark: 85, Grade: A Mya - Mark: 67, Grade: B Htet - Mark: 38, Grade: Fail

လက်တွေ့အသုံးချမှု

ဒီ project ကိုနောက်ပိုင်း user input လက်ခံခြင်း, average mark တွက်ခြင်း, highest score ရှာခြင်း, file ထဲသိမ်းခြင်း, GUI ထည့်ခြင်းတို့နဲ့အဆင့်မြှင့်နိုင်ပါတယ်။

နောက်တစ်ဆင့်

ဒီ mini project ပြီးသွားရင် Java OOP နဲ့ Collections ကိုပေါင်းပြီး Student class, Course class, GradeService class ပုံစံခွဲရေးကြည့်ပါ။

ဒီနေရာမှာ လူအများမှားတတ်တယ်

  • HashMap ထဲမှာ student name မရှိဘဲ marks.get(student) လုပ်ရင် null ပြန်လာနိုင်ပါတယ်။ Real app မှာ key ရှိ/မရှိ containsKey() နဲ့စစ်သင့်ပါတယ်။