Java Lesson 7: Userဆီမွ Inputယူၿခင္း ၂












Javaရဲ႕ အားသာခ်က္ တစ္ခုကေတာ့ ေရးသားၿပီးသား အသင့္သုံးcodeမ်ားစြာ ပါဝင္တဲ့ Libraries ရွိၿခင္းပါပဲ။ ဒီcodeေတြဟာ သတ္မွတ္ထားတဲ့ အလုပ္ကို လုပ္ေဆာင္ဖို႔ ေရးသားထားၿပီး ကၽြန္ေတာ္တုိ႔က အလြယ္တကူေခၚသုံးရုံပါပဲ။ ကိုယ္တုိင္ၿပန္ေရးစရာ မလိုေတာ့ဘဲ ကၽြန္ေတာ္တုိ႔ လုပ္ရမွာက ကိုယ္သုံးခ်င္တဲ့library fileကို referenceလုပ္ရုံပါပဲ။
referenceလုပ္တဲ့အခါ importဆိုတဲ့ keywordေနာက္ကေန library_name  ၿပီးရင္ dot(.)ခံ၊ ၿပီးမွ class_nameေရးရပါတယ္၊ ဥပမာ-
import library_name.class_name;
အခုကၽြန္ေတာ္ မိတ္ဆက္ေပးမွာကေတာ့ userဆီက inputေတြကို handleလုပ္တဲ့ Scanner Classအေၾကာင္းပဲ ၿဖစ္ပါတယ္။ Scanner Classကို java.utilဆိုတဲ့ libraryေအာက္မွာ ေတြ႕ႏုိင္ပါတယ္။ Scanner Classကို သုံးဖို႔ဆိုရင္ ကၽြန္ေတာ္တို႔က java.util.Scanner; ဆိုၿပီး ေၾကညာရပါမယ္။
import java.util.Scanner;
importပါတဲ့ စာေၾကာင္းကို class nameမေၾကညာခင္မွာ ေရးရပါတယ္။ ဥပမာ-
import java.util.Scanner;
public class  Scanner_Eg{
}
ဒီလိုေၾကညာလိုက္ၿခင္းအားၿဖင့္ ကၽြန္ေတာ္ကတုိ႔က javaကို ဘယ္libraryထဲမွာ ရွိတဲ့ ဘယ္classကို ေခၚသုံးခ်င္ပါတယ္လို႔ ေၿပာလိုက္တာပါပဲ။ ဒီexampleမွာဆိုရင္ေတာ့ java.utilဆိုတဲ့ libraryမွ Scanner classကို သုံးခ်င္တာပါလို႔ ေၿပာတာပါ။
ေနာက္တစ္ခုကေတာ့ ကၽြန္ေတာ္တို႔ Scanner classကို သုံးခ်င္တဲ့ဆုိရင္ Scanner Classကို Objectေဆာက္ရမွာပါ။ Objectေဆာက္တယ္ဆိုတာ ဘာလဲဆိုေတာ့ classဆိုတာ codeအစုအေဝးပါပဲ၊ objectမေဆာက္သေရြ႕ သုံးလို႔မရပါဘူး။ ပိုၿပီးရွင္းေအာင္ ေၿပာရရင္ “လူ”ဆိုတဲ့ classရွိတဲ့ဆိုပါေတာ့၊ လူclassထဲမွာ  လူရဲ႕ functionေတြၿဖစ္တဲ့ အိပ္၊စား ဆိုတာေတြပါတယ္ဗ်ာ။ ဒီေတာ့ လူclassခ်ည္းပဲဆုိရင္ ဘာလုပ္လို႔ရတုံး၊ လူဘာလုပ္တတ္လဲဆုိတာပဲ ပါတာေလ၊လူဆိုတဲ့classႀကီးက ကိုယ္တုိင္ထစားလို႔မွ မရဘဲ။ ကဲ ကၽြန္ေတာ္တုိ႔က Objectေဆာက္လုိက္မယ္။ လူဆိုတဲ့classကို referenceလုပ္ၿပီး ေမာင္ေမာင္ဆိုတဲ့ objectေလး ေဆာက္လိုက္မယ္။ ေမာင္ေမာင္ေလး ဘာလုပ္မလဲ။ ေမာင္ေမာင္လုပ္မွာကေတာ့ လူရဲ႕ functionၿဖစ္တဲ့ စားတယ္ဆုိတာေလး လုပ္ပါတယ္။ အဲ့အတြက္ စားfunctionကို ေခၚသုံးလိုက္ပါတယ္။ J
Objectတစ္ခုေဆာက္မယ္ဆိုရင္ ကုိယ္ေဆာက္မဲ့ objရဲ႕ class_name ၿပီးရင္ ကိုယ္ေပးခ်င္တဲ့ objရဲ႕နာမည္၊ ၿပီးရင္ equal signရဲ႕ေနာက္မွာမွ new keyword+ class_nameလာပါတယ္။ ဥပမာ-
Scanner user_input=new Scanner(System.in);
ဒီမွာဆိုရင္ data typeက int (သို႔) String မဟုတ္ဘဲ Scannerၿဖစ္ပါတယ္။ variable nameက user_input ၿဖစ္ပါတယ္။ objေဆာက္ဖို႔အတြက္ newဆိုတဲ့ keywordကို =ရဲ႕ေနာက္မွာ Class Name ေရးရပါတယ္။ လက္သည္းကြင္းထဲမွာပါတဲ့ System.inဆုိတာကေတာ့ System Inputယူမယ္လို႔ ေၿပာၿခင္းၿဖစ္ပါတယ္။
Userဆီက inputရယူဖို႔အတြက္ ကၽြန္ေတာ္တုိ႔က Scanner Objေဆာက္ၿပီးၿဖစ္တဲ့အတြက္ Scanner Classရဲ႕ အမ်ဳိးမ်ဳိးေသာ methodေတြသုံးၿပီး inputယူလို႔ရပါတယ္။ အခုexampleမွာၿပမွာကေတာ့ next methodပဲ ၿဖစ္ပါတယ္။ ဒီmethodက userက keyboardကေန ရိုက္သမွ်textကို enterမႏွိပ္မခ်င္း pointerေရြ႕ၿပီး ယူေပးမွာ ၿဖစ္ပါတယ္။
String first_name;
first_name=user_input.next();
user_inputဆိုတဲ့ objရဲ႕ေနာက္မွာ ကၽြန္ေတာ္တို႔က dot(.)ေလးခံၿပီး ေရးပါတယ္။ Netbeanလိုမ်ဳိး IDEနဲ႔ေရးတယ္ဆိုရင္ေတာ့ user_input. ဆိုတဲ့ေနာက္မွာ သုံးႏိုင္တဲ့ Scanner Classရဲ႕ methodေတြကို autoေဖာ္ၿပေပးမွာပါ။ userကို ကိုယ္ေတာင္းခ်င္တဲ့ dataကို သိေစဖုိ႔ printထုတ္ၿပလို႔လဲ ရပါတယ္။
String first_name;
System.out.print(“Enter Your First Name”);
first_name=user_input.next();
ဒီမွာ ကၽြန္ေတာ္တို႔က printlnအစား printကိုသုံးပါတယ္။ printကို သုံးတဲ့အတြက္ cursorက ေအာက္တစ္ေၾကာင္းမဆင္းေတာ့ပါဘူး။ ေနာက္ family_nameကိုလည္း ဒီပုံစံအတိုင္း ယူပါမယ္။
String family_name;
System.out.print(“Enter Your Family Name”);
family_name=user_input.next();
ၿပီးရင္ နာမည္ႏွစ္ခုကို ဆက္ၿပီး outputၿပန္ၿပပါမယ္။ Stringႏွစ္ခုဆက္ခ်င္ရင္ + signနဲ႔ဆက္ရုံပါပဲ။ ဒီမွာေတာ့ ၾကားထဲက spaceပါေအာင္ spaceထည့္ဆက္ထားပါတယ္။ exampleကို ေလ့လာၾကည့္ပါဦး။

import java.util.Scanner;
public class  Scanner_Eg{
String first_name;
System.out.print(“Enter Your First Name”);
first_name=user_input.next();
          String family_name;
System.out.print(“Enter Your Family Name”);
family_name=user_input.next();
String full_name=first_name+” ”+family_name;
System.out.print(“ Your Name is”+full_name);
}



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


0 comments:

Post a Comment

 

Myanmar Android Programming Tutorials@ 2013 | designed by Star Tek