Bai tap thuc hanh lap trinh truyen thong - Pdf 11



TR !NG ∃%I H∋C QU)NG NAM
KHOA CÔNG NGH THÔNG TIN
 & 

L
LP
PT
T
R
R
Ì
Ì
N
N
H
HT
TBiên so n: ThS. Nguy&n V(n Kh+,ng
Email:

Sinh viên:……………………………………………
L

p:……………………………………………………
TP Tam K∀, 2013
Bài t p: “L p trình truy#n thông” Biên so#n: ThS. Nguy∃n V∋n Kh)∗ng – MB: 0905.065317 Trang 1
GI%I THI U H(C PH∗N:
Tên h+c ph−n: L,p trình truy/n thông.
S0 ti1t: 45 ti1t (3 tín ch3).
10%: Chuyên c−n và thái 56 h+c t7p.
20%: Ki8m tra gi9a k< (Th>c hành trên máy tính)
20%: Ti8u lu7n (Chia nhóm).
50%: Thi k1t thúc h+c ph−n (Theo hình th?c trΑc nghiΧm)



Biên so#n: ThS. Nguy∃n V∋n Kh)∗ng – MB: 0905.065317 Trang 3

1.3. MÔ HÌNH OSI (Open Systems Interconnection)

1/ T−ng ?ng dΥng (Application Layer): cung cΩp các ?ng dΥng truy xuΩt 51n các dΞch vΥ
mΚng; Web Browser, Web Server,…
2/ T−ng trình bày (Presentation Layer): 5Μm bΜo các máy tính có ki8u 5Ξnh dΚng d9 liΧu
khác nhau vΙn có th8 trao 5Φi thông tin cho nhau.
3/ T−ng giao dΞch (Session Layer): cho phép các ?ng dΥng thi1t l7p, sΖ dΥng và xóa các
kênh giao ti1p gi9a chúng (5:Οc g+i là giao dΞch).
4/ T−ng v7n chuy8n (Transport Layer): D9 liΧu gΠi 5i 5:Οc 5Μm bΜo không có lΝi, theo
5úng trình t>, không bΞ mΩt mát, trùng lΑp.
5/ T−ng mΚng (Network Layer): tìm 5:Θng 5i cho d9 liΧu 51n các 5ích khác nhau trong hΧ
th0ng mΚng.
6/ T−ng liên k1t d9 liΧu (Data-Link Layer): 5Μm bΜo truyΓn tΜi các khung d9 liΧu (Frame)
gi9a hai máy tính.
7/ T−ng v7t lý (Physical Layer): ∃iΓu khi8n viΧc truyΓn tΜi th7t s> các bit trên 5:Θng truyΓn
v7t lý.
Bài t p: “L p trình truy#n thông” Biên so#n: ThS. Nguy∃n V∋n Kh)∗ng – MB: 0905.065317 Trang 4
1.4. M7NG TCP/IP
∃ây là ki1n trúc c[a mΚng Internet (5 t−ng), ch3 g∆m 4 t−ng nh: hình v∴ d:Ρi 5ây và t−ng
v7t lý d:Ρi cùng:

1.5. MÔ HÌNH CLIENT/SERVER
§ Server: chuyên cung cΩp m6t s0 phΥc vΥ nào 5ó, ch]ng hΚn: phΥc vΥ t7p tin, phΥc vΥ
máy in, phΥc vΥ th: 5iΧn tΖ, phΥc vΥ Web
Bài t p: “L p trình truy#n thông” Biên so#n: ThS. Nguy∃n V∋n Kh)∗ng – MB: 0905.065317 Trang 6
CH2&NG 2:
T3NG QUAN NGÔN NG9 L5P TRÌNH JAVA
2.1. GI%I THI U NGÔN NG9 L5P TRÌNH JAVA
Ngôn ng9 l7p trình Java 5:Οc Sun Microsystems 5:a ra giΡi thiΧu vào tháng 6 n_m 1995 và
5ã nhanh chóng trΠ thành m6t ngôn ng9 l7p trình c[a các l7p trình viên chuyên nghiΧp. Java
5:Οc xây d>ng d>a trên nΓn tΜng c[a C và C++ ngha là Java sΖ dΥng cú pháp c[a C và 5αc
tr:ng h:Ρng 50i t:Οng c[a C++. Java là ngôn ng9 vΛa biên dΞch vΛa thông dΞch. ∃−u tiên mã
ngu∆n 5:Οc biên dΞch thành dΚng bytecode. Sau 5ó 5:Οc th>c thi trên tΛng loΚi máy nhΘ trình
thông dΞch. M c tiêu c∀a các nhà thi#t k# Java là cho phép ng&∋i l∗p trình vi#t ch&(ng trình
m,t l.n nh&ng có th/ ch1y trên các n2n ph.n c3ng khác nhau.

Biên d5ch ch&(ng trình Java.
Ngày nay, Java 5:Οc sΖ dΥng r6ng rãi, không ch3 58 vi1t các ?ng dΥng trên máy cΥc b6 hay
trên mΚng mà còn 58 xây d>ng các trình 5iΓu khi8n thi1t bΞ di 56ng, …
2.2. B1 JDK VÀ ECLIPSE
JDK (Java Development Kit) là b6 công cΥ cho ng:Θi phát tri8n ?ng dΥng bΣng ngôn ng9
l7p trình Java, là m6t t7p hΟp nh9ng công cΥ ph−n mΓm 5:Οc phát tri8n bΠi Sun
Microsystems. B6 công cΥ này 5:Οc phát hành miβn phí g∆m có trình biên dΞch, trình thông
dΞch, trình giúp sΖa lΝi trình chΚy applet và tài liΧu nghiên c?u.
Các bΚn vào 5Ξa ch3 sau 58 tΜi b6 cài 5αt vΓ:

Eclipse là m6t ph−n mΓm mã ngu∆n mΠ 5:Οc thi1t k1 58 hΝ trΟ các l7p trình viên vi1t các
?ng dΥng bΣng nhiΓu ngôn ng9 khác nhau trong 5ó có ngôn ng9 Java.
Eclipse tΚo ra m6t môi tr:Θng l7p trình 5Εn giΜn, tr>c quan vΡi viΧc hΝ trΟ rΩt nhiΓu plugin
Biên so#n: ThS. Nguy∃n V∋n Kh)∗ng – MB: 0905.065317 Trang 8
2.3.3. Vòng l∆p for
for (<kh.i t1o bi3n>; <bi u th∀c %i&u ki∋n>; <b#4c nh5y>)
{
<thân vòng l6p> // thân vòng l6p là l∋nh / kh∗i l∋nh
}
2.3.4. Vòng l∆p while
while (<bi u th∀c %i&u ki∋n>)
<Thân vòng l6p>;
2.3.5. Vòng l∆p do-while
do
<thân vòng l6p>
while (<bi u th∀c %i&u ki∋n>)
2.4. TÍNH K6 THΦA VÀ <A HÌNH TRONG JAVA
2.4.1. Tính kΓ thΗa
S> k1 thΛa 5:Οc sΖ dΥng khi mu0n tΚo m6t lΡp mΡi tΛ m6t lΡp 5ã bi1t. Khi 5ó, tΩt cΜ các
thu6c tính và ph:Εng th?c c[a lΡp cχ 5Γu trΠ thành thu6c tính và ph:Εng th?c c[a lΡp mΡi.
LΡp cχ 5:Οc g+i là lΡp cha, lΡp mΡi 5:Οc g+i là lΡp con.
Khai báo lΙp kΓ thΗa
Khai báo lΡp k1 thΛa 5:Οc th>c hiΧn bΠi tΛ khoá extends:
<thu8c tính> <tên l4p con> extends <tên l4p cha>
{
}
2.4.2. Tính ?a hình
NΚp chΛng: Java cho phép trong cùng m6t lΡp, có th8 khai báo nhiΓu ph:Εng th?c có cùng
tên. NΚp ch∆ng là hiΧn t:Οng các ph:Εng th?c có cùng tên.
<a hình: ∃a hình là viΧc triΧu g+i 51n các ph:Εng th?c nΚp ch∆ng c[a 50i t:Οng. Khi m6t
ph:Εng th?c nΚp ch∆ng 5:Οc g+i, ch:Εng trình s∴ d>a vào ki8u các tham s0 và ki8u trΜ vΓ 58


Biên so#n: ThS. Nguy∃n V∋n Kh)∗ng – MB: 0905.065317 Trang 11
N u không ch#y %&∋c thì thi t l)p l#i bi n môi tr&∗ng nh& sau:
a. BΩm chu6t phΜi vào bi8u t:Οng MyComputer trên màn hình Desktop và ch+n
“Properties” -> ch+n tab “Advanced” -> ch+n nút “Environment Variables”
b. Ti1p theo chΝ “System variables” ta chon New 58 bΑt 5−u tΚo bi1n môi tr:Θng
“JAVA_HOME”, bΚn s∴ thΩy dialog hiΧn ra 58 nh7p thông tin vào bao g∆m: Variable
name (bΚn gõ vào là “JAVA_HOME”) và Variable value (là th: mΥc bΚn 5ã cài 5αt jdk
tr:Ρc 5ó, thông th:Θng s∴ nΣm Π th: mΥc “C:\Program Files\Java\jdk1.7.0_25δ) sau 5ó
bΚn ch+n OK.
c. Ti1p theo bΚn c−n c7p nh7t thông tin c[a bi1n “JAVA_HOME” vào hΧ th0ng 58 sΖ
dΥng chung cho các ?ng dΥng c−n chΚy trên nΓn máy Μo JVM bΣng cách tΚi dialog c[a
“System variables” bΚn kéo thanh scroll xu0ng và tìm 51n “Path” -> ch+n nút “Edit” và
có m6t dialog hiΧn ra 58 bΚn c7p nh7t thông tin cho “Path”, tΚi ph−n “Variable value”
bΚn di chuy8n 51n cu0i và gõ vào “;%JAVA_HOME%\bin;” (l:u ý là dΩu “;” Π 5−u
bi1n “JAVA_HOME” s∴ không c−n n1u tr:Ρc 5ó 5ã có r∆i) -> sau 5ó bΚn ch+n các nút
“OK” Π các dialog 58 hoàn tΩt.
d. ∃8 xác nh7n lΚi viΧc thi1t l7p bi1n môi tr:Θng thì tΚi màn hình CMD (Terminal) bΚn
dùng lΧnh: echo %JAVA_HOME%, n1u bΚn nh7n 5:Οc k1t quΜ là 5:Θng dΙn tΡi th:
mΥc cài 5αt jdk là 5úng.
1. ChΚy lΚi file eclipse.exe 58 chΚy ch:Εng trình.
2. N1u vΙn không chΚy 5:Οc thì vào 5:Θng dΙn trong th: mΥc eclipse:
eclipse\configuration\org.eclipse.osgi\.manager, xóa file: .fileTableLock.
3. ChΚy lΚi file eclipse.exe 58 chΚy ch:Εng trình. OK
Bài t,p 2.2: Vi1t ch:Εng trình Java giΜi ph:Εng trình b7c 2. (SΖ dΥng lΧnh if else)
Bài gi7i:
- KhΠi 56ng Eclipse.
- Ch+n File / New/ Java Project 58 tΚo d> án mΡi. Ch+n Next
- Gõ tên Baitap2.2 vào mΥc Project Name. Ch+n Next, Ch+n Finish.
- Click chu6t phΜi vào d> án: Baitap2.2 phía bên trái cΖa sΦ làm viΧc, ch+n New / Class

f l oat a = i nput .nextFloat();
System.
out .print("Nh9p b: ");

f l oat b = i nput .nextFloat();
System.
out .print("Nh9p c: ");

f l oat c = i nput .nextFloat();

//Tinh gia tri delta

f l oat delta=b*b-4*a*c;

//Xet cac truong hop cua delta de cho ra nghiem

i f (delta<0)
System.
out .println("Ph#/ng trình vô nghi∋m.");

el se i f (delta==0)
System.
out .println("Ph#/ng trình có nghi∋m kép: "+(-b/(2*a)));

el se{
System.
out .println("Ph#/ng trình có 2 nghi∋m:");
System.
out .println("X1 = "+(-b+Math.s qrt (delta))/(2*a));
System.

pri vat e s t at i c Scanner i nput ;

//Chuong trinh chinh

publ i c s t at i c voi d main(String[] args){

//Khoi tao doi tuong input

i nput = new Scanner(System.i n);

//Khai bao 2 bien ten, matkhau
String ten=
nul l , matkhau=nul l ;

i nt dem=1;

//Thuc hien nhap ten, matkhau toi da 3 lan

whi l e(dem<=3)
{
System.
out .print("Nh9p tên ng#:i dùng: ");
ten =
i nput .next();
System.
out .print("Nh9p m9t kh<u: ");
matkhau =
i nput .next();
dem=dem+1;
//Neu ten va matkhau nhap vao dung thi thoat vong lap

vào tΛ bàn phím). Yêu c−u:
- Hi8n thΞ mΜng vΛa nh7p.
- SΑp x1p các ph−n tΖ mΜng theo th? t> t_ng d−n và hi8n thΞ mΜng.
- Nh7p 1 s0 tΛ bàn phím và hi8n thΞ ph−n tΖ th? mΩy c[a mΜng có giá trΞ bΣng s0 vΛa
nh7p (L:u ý: ch3 hi8n thΞ ph−n tΖ 5−u tiên)
Bài gi7i:
- KhΠi 56ng Eclipse.
- Ch+n File / New/ Java Project 58 tΚo d> án mΡi. Ch+n Next
- Gõ tên Baitap2.4 vào mΥc Project Name. Ch+n Next, Ch+n Finish.
- Click chu6t phΜi vào d> án: Baitap2.4 phía bên trái cΖa sΦ làm viΧc, ch+n New / Class
58 tΚo lΡp.
- Gõ tên lΡp là Baitap2_4 vào mΥc Name, 5ánh dΩu ch+n vào public static void main
(String[] args) 58 tΚo ph:Εng th?c chính c[a lΡp.
- Ch+n Finish.
- Vi1t lΧnh cho ch:Εng trình nh: sau:
i mport java.util.Scanner;

publ i c cl as s Baitap2_4 {

//Khai bao doi tuong input cua lop Scanner nhan du lieu nhap vao

pri vat e s t at i c Scanner i nput ;

//Xay dung ham nhap gia tri theo kieu so nguyen

publ i c s t at i c i nt nhapgiatri(){

//Khoi tao doi tuong input

i nput = new Scanner(System.i n);


Biên so#n: ThS. Nguy∃n V∋n Kh)∗ng – MB: 0905.065317 Trang 15

f or (i nt i=0; i<n; i++)
{
System.out .print("Nh9p mang["+i+"]= ");
mang[i]=nhapgi at r i ();
}
}
//Xay dung ham xuat mang

publ i c s t at i c voi d xuatmang(i nt mang[], i nt n)
{
System.out .println("\nHi n th, m5ng:");

f or (i nt i=0; i<n; i++)
{
System.out .print(mang[i] + " ");
}
}

//Xay dung ham sap xep mang tang dan

publ i c s t at i c voi d sapxeptang(i nt mang[], i nt n)
{
i nt bientam;

f or (i nt i=0; i<(n-1); i++)
{
f or (i nt j=i+1; j<n; j++)

//Goi lai ham xuat mang
xuat mang(mang,n);
//Goi lai ham sap xep mang tang dan va hien thi
sapxept ang(mang,n);
xuat mang(mang,n);

//Nhap gia tri can tim
System.
out .print("\nNh9p giá tr, cΑn tìm: ");

i nt giatri=nhapgi at ri ();

//Duyet mang de tim phan tu dau tien bang bien giatri

f or(i nt i=0; i<n; i++)
{
Bài t p: “L p trình truy#n thông” Biên so#n: ThS. Nguy∃n V∋n Kh)∗ng – MB: 0905.065317 Trang 16

i f (mang[i] == giatri)
{
System.out .println("PhΑn tΒ %Αu tiên bΧng " + giatri + "
là phΑn tΒ th∀: "
+ (i+1));

break;
}
}

//Xay dung ham nhap gia tri theo kieu so nguyen

publ i c s t at i c i nt nhapgiatri(){

//Khoi tao doi tuong input

i nput = new Scanner(System.i n);

bool ean check= f al s e;

i nt n=0;

whi l e(!check){
System.
out .print(" ");

t ry{
n=
i nput .nextInt();
check=
t rue;
}
cat ch(Exception e){
System.
out .println("B1n ph5i nh9p s∗, hãy nh9p l1i ");

i nput .nextLine();
}
}


}
}

//Xay dung ham tinh tong tung hang va hien thi

publ i c s t at i c voi d tonghang(i nt mang[][], i nt m, i nt n)
{
f or (i nt i=0; i<m; i++)
{
i nt tonghang=0;

f or (i nt j=0; j<n; j++)
{
Bài t p: “L p trình truy#n thông” Biên so#n: ThS. Nguy∃n V∋n Kh)∗ng – MB: 0905.065317 Trang 18
tonghang=tonghang + mang[i][j];
}
System.
out .println("T=ng hàng " + i + " = " + tonghang);
}
}

//Xay dung ham hoan vi hang 2 va hang 3

publ i c s t at i c voi d hoanvi(i nt mang[][], i nt m, i nt n)
{
i nt bientam;


nhapmang(mang,m,n);

//Goi lai ham xuat mang
xuat mang(mang,m,n);
//Goi lai ham tong hang
t onghang(mang,m,n);
//Goi lai ham hoan vi
hoanvi (mang,m,n);

//Hien thi lai mang da hoan vi
xuat mang(mang,m,n);
}
}
- Biên dΞch ch:Εng trình, Ctrl + F11

Bài t p: “L p trình truy#n thông” Biên so#n: ThS. Nguy∃n V∋n Kh)∗ng – MB: 0905.065317 Trang 19
Bài t,p 2.6: Vi1t ch:Εng trình quΜn lý sách cho 1 th: viΧn, vΡi các ch?c n_ng nh: giao diΧn
ch:Εng trình bên d:Ρi:

Bài gi7i:
• Xây d≅ng lΙp Sach:
LΡp này l:u thông tin tΛng quy8n sách:
- KhΠi 56ng Eclipse.
- Ch+n File / New/ Java Project 58 tΚo d> án mΡi. Ch+n Next
- Gõ tên Baitap2.6 vào mΥc Project Name. Ch+n Next, Ch+n Finish.
- Click chu6t phΜi vào d> án: Baitap2.6 phía bên trái cΖa sΦ làm viΧc, ch+n New / Class
58 tΚo lΡp.


masach = 0;

namxb = 0;
}
}
Bài t p: “L p trình truy#n thông” Biên so#n: ThS. Nguy∃n V∋n Kh)∗ng – MB: 0905.065317 Trang 20
• Xây d≅ng lΙp Thuvien:
LΡp này k1 thΛa lΡp sách, khai báo mΜng các 50i t:Οng sách và th>c hiΧn các thao tác nh::
Nh7p sách, Tìm ki1m sách, Hi8n thΞ thông tin sách.
- Click chu6t phΜi vào d> án: Baitap2.6 phía bên trái cΖa sΦ làm viΧc, ch+n New / Class
58 tΚo lΡp.
- Gõ tên lΡp là Thuvien vào mΥc Name.
- Ch+n Finish.
- Vi1t lΧnh cho lΡp Thuvien nh: sau:
i mport java.util.Scanner;

//Khai bao lop thu vien
cl as s Thuvien{
Sach []
sach; //Khai bao mang sach thuoc lop Sach

i nt sachcounter; //Khai bao bien dem so luong sach trong thu vien
pri vat e Scanner nhap;//Khai bao bien nhan gia tri nhap tu ban phim

//Phuong thuc khoi tao lop thu vien


out .print("Nh9p vào lo1i sách: ");

sach[sachcounter].loaisach = nhap.nextLine();
System.
out .print("Nh9p vào giá sách: ");

sach[sachcounter].giasach = nhap.nextInt();
System.
out .print("Nh9p vào n≅m xuΦt b5n: ");

sach[sachcounter].namxb = nhap.nextInt();

sachcounter++;
}
el se
{
System.
out .println("Không th nh9p s∗ l#>ng sách qui %,nh.");
}
Bài t p: “L p trình truy#n thông” Biên so#n: ThS. Nguy∃n V∋n Kh)∗ng – MB: 0905.065317 Trang 21
} //Phuong thuc tim sach
publ i c voi d timsach()
{
nhap = new Scanner(System.i n);

hay khongi f (tensach.indexOf(sachName) != -1)
{
sachFound =
t rue; //Tim thay sach
}
}

//Neu tim thay sach

i f (sachFound == t rue)
{
System.out .println("Danh sách sách tìm %#>c là:");
System.
out .printf("\n%1$5s %2$10s %3$20s %4$15s %5$15s %6$10s
%7$10s"
, "STT", "Mã", "Tên sách", "Lo1i sách", "Tác gi5", "Giá sách", "N≅m xuΦt
b5n"
);

f or (i = 0; i < sachcounter; i++)
{
tensach = sach[i].tensach.toLowerCase();

i f (tensach.indexOf(sachName) != -1)
{
System.out .printf("\n%1$5s %2$10s %3$20s %4$15s
%5$15s %6$10s %7$10s"

//Neu khong co sach trong thu vien

i f (sachcounter == 0)
{
System.out .println("Không tìm thΦy sách nào trong th# vi∋n");
}
el se
{
System.
out .println("Danh sách sách hi∋n có là:");
System.
out .printf("\n%1$5s %2$15s %3$20s %4$15s %5$15s %6$10s
%7$10s"
, "STT", "Mã sách", "Tên sách", "Lo1i sách", "Tác gi5", "Gía sách", "N≅m
xuΦt b5n"
);

f or (i = 0; i < sachcounter; i++) {
System.
out .printf("\n%1$5s %2$15s %3$20s %4$15s %5$15s %6$10s
%7$10s"
, i + 1, sach[i].masach, sach[i].tensach, sach[i].loaisach,
sach[i].tacgia, sach[i].giasach, sach[i].namxb);
}
}
}
}
• ViΓt lΙp Quanlythuvien:
LΡp này ch?a ch:Εng trình chính 58 chΚy:
- Click chu6t phΜi vào d> án: Baitap2.6 phía bên trái cΖa sΦ làm viΧc, ch+n New / Class


i nt chon =0; //Khai bao bien chon

//Trong khi khong lua chon 4. Thoat

whi l e(chon !=4)
{
System.out .println("\n");
System.
out .println("******* Qu5n lý th# vi∋n ********");
System.
out .println("Các thao tác c∆a ch#/ng trình:");
System.
out .println("1. Thêm sách");
System.
out .println("2. Tìm sách");
System.
out .println("3. Hi n th, sách");
System.
out .println("4. Thoát");
System.
out .println("**************************");
System.
out .print("Nh9p vào thao tác cΑn dùng: ");
chon =
nhap.nextInt();

//Xet gia tri bien chon de thuc hien chuc nang tuong ung

swi t ch (chon)


H:Ρng dΙn tham khΜo:
Bài t p: “L p trình truy#n thông” Biên so#n: ThS. Nguy∃n V∋n Kh)∗ng – MB: 0905.065317 Trang 24
- KhΠi 56ng Eclipse.
- Ch+n File / New/ Java Project 58 tΚo d> án mΡi.
- Gõ tên Baitap2.7 vào mΥc Project Name. Ch+n Finish.
- Click chu6t phΜi vào d> án: Baitap2.7 phía bên trái cΖa sΦ làm viΧc, ch+n New / Other /
WindowBuider / Swing Designer / Application Window, ch+n Next 58 tΚo ?ng dΥng
Window
- Gõ tên là PTB1 vào mΥc Name. Ch+n Finish.
- Ch+n thγ Design 58 thi1t k1 theo ki8u tr>c quan s∴ xuΩt hiΧn các công cΥ tr>c quan.
- Ch+n Form 5ang thi1t k1, thi1t l7p thu6c tính Variable: frmptb1, thi1t l7p thu6c tính
title: GiΜi ph:Εng trình b7c 1.
- Click chu6t phΜi vào Form 5ang thi1t k1, ch+n Set layout / Absolute layout.
- TΚo 1 JLable sang Form 5ang thi1t k1, thi1t l7p thu6c tính text: GiΜi ph:Εng trình b7c
1: ax + b = 0, thay 5Φi thu6c tính font: Bold, cη ch9 16.
- L−n l:Οt tΚo 3 JLable, thi1t l7p thu6c tính text t:Εng ?ng: Nh7p a, Nh7p b, K1t quΜ.
- L−n l:Οt tΚo 3 JTextField, 5αt name t:Εng ?ng: textFielda, textFieldb, textFieldketqua.
- L−n l:Οt tΚo 3 JButton, thi1t l7p thu6c tính name t:Εng ?ng là: btngiaipt, btnlamlai,
btnthoat; thi1t l7p thu6c tính text t:Εng ?ng: GiΜi PT, Làm lΚi, Thoát.
- Click 5ôi vào JButton btngiaipt gõ 5oΚn lΧnh sau:
publ i c voi d actionPerformed(ActionEvent arg0) {

f l oat a = Float.parseFloat(textFielda.getText());

f l oat b = Float.parseFloat(textFieldb.getText());


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status