9 වන පාඩම(input read from
user)(දෙවන කොටස)
දැන්
වැදගත්ම කොටස.
ඔයාල
කලින් lesson එකේ පලවෙනි
ප්රෝග්රෑම් එකට මෙහෙම ඉන්පුට් දීල බලන්න.
nalaka
123
456.23
56
false
දැන් nalaka
123 456.23 56 false එක පෙලට ටයිප් කරල enter key ප්රෙස් කරන්න.
එකම අවුට්පුට්
එක ලැබෙයි.මේක වැදගත් වෙන්නෙ ප්රෝග්රෑම් competition වලදි.ඒවගෙදි එයාල කියනව input
එක දෙන විදිය.ඒ වගෙම
output එක දෙන්න ඕනි
විදියත් කියනව,ඒ වගෙ programe කරනකොට
මේ ටික හොඳට
අවබෝධ කරගෙන
තියනවනම් ලේසි වෙයි.
දැන් බලමු
s.nextLine(); මෙතඩ් එක ගැන.
import
java.util.Scanner;
public
class ReadFromUser
{
public static void main(String[]
args)
{
Scanner s=new Scanner(System.in);
//int j=s.nextInt();
String fullname=s.nextLine();
int i=s.nextInt();
//System.out.println("int :
"+j);
System.out.println("full name
is: "+fullname);
System.out.println("int :
"+i);
}
}දැන් comment
දාල තියෙද්දි මුලින්ම රන් කරන්න.
Input
එක nalaka senarathna
23
එතකොට
output එක මේක එයි.
full
name is: nalaka senarathna
int
: 23
දැන් comment
අයින් කරල රන් කරන්න.
Input
එක ,
23
nalaka
senarathna
එතකොට
output එක මේක එයි.
Exception in thread "main"
java.util.InputMismatchException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at ReadFromUser.main(ReadFromUser.java:9)
මෙතනදි
මේ අව්ල වෙන්නෙ 23 දීල එන්ටර් කරන නිසා.එතනදි read කරන්න ඉල්ලන්නෙ int අගයක්.
23
56
ඉන්පුට්
එක දෙන්න දැන් පෙනෙයි මොකක්ද වෙලා තියෙන්නෙ
කියල.
int
: 23
full
name is:
int
: 23
කියල
ආවද.
දැන්
මෙහෙම කරන්න
23
nalaka senarathna
56
පේනවද
දැන් අනෙක් අගය දෙන්න පුලුවන් වෙනව .
දැන්
output එක එයි
int
: 23
full
name is: nalaka senarathna
int
: 56
ඉතින්
හැම වෙලාවෙම මෙහෙම කරන්න බෑනෙ.සමහර වෙලාවට එන්ටර් කර කරනෙ ඉන්පුට් දෙන්න තියෙන්නෙ.
ඒකට අපේ කෝඩ් එක පොඩි වෙනසක් කරනව මේ අව්ල
නැති කරගන්න.
int j=s.nextInt();
s.nextLine();
String
fullname=s.nextLine();
int i=s.nextInt();
System.out.println("int
: "+j);
System.out.println("full
name is: "+fullname);
System.out.println("int
: "+i);
දැන්
මන් highlight කරල තියන
ස්ටේට්මන්ට් එක යොදල ඉන්පුට් දෙන්න.මතක තියාගන්න මේ වෙනස කරන්නෙ එන්ටර් කර කර ඉන්පුට්
දෙන්න ඕනි වෙලාවට.
23
nalaka
senarathna
56
මේකෙදි
කලින් වගේ error මැසේජ්
එකක් පෙන්නන එකක් නෑ.මෙතනදි අපි පලවෙනි ඉන්පුට්
එක දීල space තියල පහත විදියට ඉන්පුට් දෙන්න.
23
456 jkl
nalaka
senarathna
56
ඒකෙදිත්
23
nalaka
senarathna
56
අවුට්පුට්
එක එයි 456 jkl කියන කොටස discard වෙලා.දැන් තේරෙනවනේද හොඳට.
Enter
කර කර ඉන්පුට් දෙනකොට මේ ගැන
මතක තිබුනොත් වරදින්න තියන ඉඩකඩ අඩුවෙයි.
මුලින්ම ඉන්ට්,ලෝන්ග් වගෙ අගයන් read කරල String
රීඩ් කරන්න යනකොට s.nextLine();
කියන මෙතඩ් එකෙන් මේ ගැන අවදානය දෙන්න.
No comments:
Post a Comment