ทำไมรัน if / Else if ไม่ได้ครับ

คือ ผมเพิ่งเริ่มฝึกเขียนโปรแกรมครับ แล้วทีนี้ผมลองเขียนโปรแกรมที่ใส่เลขสามตัวแล้วให้แสดงผลตัวเลขที่มากที่สุดครับ ประมาณว่าใส่เลข 2, 1, 0แล้วให้แสดงผลเป็นเลข 2 ครับ โดยผมลองเขียนโปรแกรมเป็นแบบนี้

import java.util.Scanner;
public class MyClass{
   public static void main(String[] args){
         Scanner sc = new Scanner(System.in);
     int a = sc.nextInt();
     int b = sc.nextInt();
     int c = sc.nextInt();
     Int d;
     if (a > b && a> c){
            d = a;
     } else if (b > a && b > c){
            d = b;
     } else if (c> a && c> b){
            d = c;
     }
System.out.print("MAX : " + d);
}
}

โดยถ้าผมจะใส่ ตัวเลข a เป็น 2,  b เป็น 1, C เป็น 0 
ถ้าไม่มีอะไรผิดพลาด มันควรแสดงผลเป็น MAX : 2
แต่พอrun จริงๆ กลายเป็นว่า error โดยบอกว่า error: variable d might not have been initialized System.out.print("MAX : " + d) error
ทำไมถึง error ได้ครับ เพราะมันน่าจะรัน if แรกได้
อยากทราบข้อผิดพลาดครับ
แก้ไขข้อความเมื่อ
คำตอบที่ได้รับเลือกจากเจ้าของกระทู้
ความคิดเห็นที่ 1
แล้วถ้าทั้ง 3 ตัวเท่ากันมันจะเอาอะไรมาใส่ค่า d ครับ มันจะฟ้องว่ามีโอกาสที่ d มันจะไม่มีค่ามาแสดง
variable d might not have been initialized
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่