Download as pdf or txt
Download as pdf or txt
You are on page 1of 2

b .

a d d A c t i o n L i s t e n e r (t h i s ) ;
b o t t o m . a d d ( b = n ew B u t t o n ( " 7 " ) ) ;
b .a d d A c tio n L iste n e r(th is);
b o t t o m . a d d ( b = new B u t t o n ( " 8 " ) ) ;
b . a d d A c t i o n L i s t e n e r (t h i s ) ;
b o t t o m . a d d ( b = new B u t t o n ( " 9 " ) ) ;
b .a d d A c tio n L iste n e r(th is);
b o t t o m . a d d ( b = new B u t t o n (" + " ) ) ;
b . a d d A c t i o n L i s t e n e r (t h i s ) ;
b o t t o m . a d d ( b = new B u t t o n
b . a d d A c t i o n L i s t e n e r (t h i s );
b o t t o m . a d d ( b = new B u t t o n ( " * " ) ) ;
b .a d d A c tio n L iste n e r(th is) ;
b o t t o m . a d d ( b = new B u t t o n ( " / " ) ) ;
b .a d d A c tio n L iste n e r(th is) ;
b o t t o m . a d d ( b = new B u t t o n (" = " ) ) ;
b . a d d A c t i o n L i s t e n e r (t h ì s ) ;
b o t t o m . a d d ( b = new B u t t o n ( "C" ) ) ;
b . a d d A c t i o n L i s t e n e r (t h i s ) ;
b o t t o m . a d d ( b = new B u t t o n { " 0 " ) ) ;
b .a d d A c tio n L iste n e r(th is);
// Đật layout cho chương trình
s e t L a y o u t (new B o r d e r L a y o u t ( ) ) ;
a d d ( "N o rth ",to p );
a d d ( " S o u t h 11, b o t t o m ) ;
a d d W in d o w L iste n er(listen e r) ;
s e t s i z e (1 80 , 1 6 0 ) ;
sho w () ;
}
// Xử lý các sự kiện khi nhấn chuột vào các n ú t
p u b l i c v o i d a c t i o n P e r f o r m e d ( A c t i o n E v e n t e) {
c h a r c = e . g e t A c t i o n C o m m a n d () . c h a r A t ( 0 ) ;
i f ( c == ' + ' ) e n g i n e . a d d () ;
e l s e i f (c == ' - 1 ) e n g i n e . s u b t r a c t () ;
e l s e i f ( c == ' * ' ) e n g i n e . m u l t i p l y () ;
e l s e i f ( c == ' / ' ) e n g i n e . d e v i d e () ;
e l s e i f (c >= ' 0 ' £c& c <= 19 ') e n g i n e . d i g i t (c - ' 0 ' ) ;
e l s e i f (c == ' = ' ) e n g i n e . c o m p u t e () ;
e l s e i f (c == 1c ' ) e n g i n e . c l e a r ( ) ;
d i s p l a y . setT ex t(n ew
In te g e r(e n g in e .d is p la y ( ) ) . t o s t r i n g ());
}
p u b l i c s t a t i c v o i d m a i n ( s t r i n g a r g s [] ) {
C a l c u l a t o r e = new C a l c u l a t o r () ;
n ew C alcu lato rF ram e(e) ;

244
c la s s C a lc u la to r {
in t v a lu e ;
in t keep;
c h a r toD o;
v o i d b i n a r y O p ( c h a r op) {
keep = v a lu e ;
v a l u e = 0;
toD o = o p ;
}
v o i d add () {
b in a ry O p ( '+ ') ;
}
v o i d s u b t r a c t () {
b in ary O p
}
v o i d m u l t i p l y () {
b in a ry O p ( '* ') ;
}
v o i d d e v i d e () {
b in a ry O p ( ' / ' ) ;
}
v o i d c o m p u t e () {
i f (toD o == 1+ 1 )
v a l u e += k e e p ;
e l s e i f ( t o D o == 1- 1 )
v a l u e -= k e e p ;
e l s e i f ( t o D o == 1* ' )
v a l u e /= k e e p ;
e l s e i £ ( t o D o == • / *)
v a l u e /= k e e p ;
k e e p = 0;
}
v o i d d i g i t (i n t x) {
v a l u e = v a l u e * 10 + x ;
}
v o i d c l e a r () {
v a l u e = 0;
keep = 0 ;
}
i n t d i s p l a y () {
r e t u r n v a lu e ;
}
C a l c u l a t o r () {
c l e a r ();

You might also like