Java Lesson 6

Keyboardမွ Inputယူၿခင္း

Userနဲ႔ အၿပန္အလွန္ ဆက္သြယ္လုပ္ေဆာင္ရတဲ့ programမ်ဳိးေရးတဲ့အခါ userဆီက inputေတာင္းဖို႔ လုိပါတယ္။ ဒီေတာ့ programမွာ keyboardဆီက inputကို လက္ခံတဲ့function ထည့္ေရးေပးရပါမယ္။ ဒီမွာ keyboardက inputကို လက္ခံဖို႔ System.in.read() ဆိုတဲ့ functionေခၚသုံးပါမယ္။ outputထုတ္ရင္ System.out.print() ကိုသုံးၿပီး inputယူရင္ System.in.read()ေပါ့ဗ်ာ။

ဒါေပမဲ့ ဒီfunctionက ယူလိုက္တဲ့ inputကို integerတၿဖစ္လဲ ASCIIတန္ဖိုးအေနနဲ႔ ၿပပါတယ္။ ASCIIဆိုတာကေတာ့ Keyboardမွာရွိတဲ့ keyတစ္ခုၿခင္းဆီရဲ႕ ဂဏန္းတန္ဖိုးပါ။ သူရဲ႕ rangeက 0-127 ရွိပါတယ္။ ဥပမာ ကၽြန္ေတာ္က ‘a’ လို႔ ရုိက္လိုက္တာကို System.in.read()နဲ႔ ဖတ္ရင္ ASCIIတန္ဖိုး 97ရပါတယ္။ ကၽြန္ေတာ္က 1လို႔ ရုိက္ေပမဲ့လည္း 1လို႔ ေပၚမွာ မဟုတ္ဘူးေနာ္။ 1ရဲ႕ ASCIIတန္ဖိုးပဲ ထြက္မွာပဲ။ အဲ့ေတာ့ ဒီASCIIတန္ဖိုးကို ကၽြန္ေတာ္တို႔က typeေၿပာင္းၿပီး inputယူရပါတယ္။ aကို ရုိက္ၿပီး aလို႔ ေပၚေစခ်င္ရင္ charေၿပာင္းရပါတယ္။ ဒါေပမဲ့ 1ကို 1ရေအာင္ေတာ့ integer typeေၿပာင္းလို႔ မရပါဘူး။ ဘာလို႔လဲဆိုေတာ့ အေစာထဲက System.in.read()နဲ႔ ဖတ္ရင္ integerၿဖစ္တဲ့ ACII ရလို႔ပါပဲ။ 1ကို 1အတိုင္းရေစခ်င္ရင္ တၿခားနည္းနဲ႔ inputယူရပါမယ္။ အဲဒါေတာ့ ေနာက္မွ ေၿပာမယ္။ ကဲ ဥပမာေလး ၾကည့္ရေအာင္
class InputEg{
          public static void main(String[] args) throws IOException{
                   char input; int inp;
                   System.out.print(“Enter a character: ”);
                   inp= System.in.read();
                   input=(char)System.in.read();
                   System.out.println(“The Key You Type is ”+input+”\nASCII value of”+input+”is ”+inp);
}
}

ဒီegမွာဆိုရင္ ကၽြန္ေတာ္က variableႏွစ္လုံးယူထားတယ္။ ASCIIတန္ဖိုးထည့္ဖို႔ integerတစ္ခုရယ္၊ charေၿပာင္းၿပီး ထည့္ဖို႔ charတစ္ခုရယ္။ keyboardေပၚကႀကိဳက္တဲ့ keyကိုရုိက္ အဲ့keyရဲ႕တန္ဖိုးရယ္၊ keyရဲ႕သေကၤတအမွန္ရယ္ကို ထြက္ေအာင္လုပ္ထားပါတယ္။ main methodမွာ ထူးၿခားတာကေတာ့ exceptionကို throwလုပ္ထားတာပါ။ ဘာေႀကာင့္လဲဆိုေတာ့ inputသြင္းတဲ့ errorေတြ ၿဖစ္ႏိုင္ပါတယ္။ programမွာ အမွားမပါေပမဲ့ userက data typeမွားရိုက္တာတို႔ ၿဖစ္လာရင္ programကို ရပ္သြားေအာင္ exceptionကို throwေပးရပါတယ္။ exceptionအေၾကာင္း ေနာက္မွ အေသးစိတ္ေၿပာပါမယ္။ ခုေတာ့ Exceptionအမ်ားႀကီးရွိတဲ့ထဲက IOException(Input/Output)ကို throwလုပ္ထားပါတယ္။ ဒါဆိုရင္ေတာ့ keyboardကေန inputယူတတ္မယ္ထင္ပါတယ္။


ကၽြန္ေတာ္ေရးတဲ့ postေတြက စာဖတ္သူအတြက္ အက်ဳိ္းရွိတယ္ဆုိရင္ commentေပးခဲ့ပါ။ လိုအပ္ခ်က္ေလးမ်ားရွိရင္လည္း အႀကံေပးခဲ့ပါ။


0 comments:

Post a Comment

 

Myanmar Android Programming Tutorials@ 2013 | designed by Star Tek